Java实现PDF文件生成并且打印pdf文件(附demo)
private void writeVA(Chapter chapter) {
// -------------------------这里开始 到下面写你自己的数据对象解析逻辑 --------
VisualAcuity[] vaArr = {leftPreVA,leftSufVA,rightPreVA,rightSufVA,doublePreVA,doubleSufVA} ;
initVA(); // 实例化对象
List<VisualAcuity> vaList = ppe.getVaList();
if (vaList != null&& vaList.size() > 0) {
for (VisualAcuity va:vaList
) {
fillVisualAcuity(va);
}
}
// --------------------------end -------------------------------------
// 表格标题
JHCreatePDF.createSection(chapter,"视锐度:",titleFont,0);
// 生成一个section对象
Section section = JHCreatePDF.createSection(chapter, null, textFont, 0);
// 创建表格对象, 按需求初始化4列
PdfPTable table = new PdfPTable(4);
PdfPCell cell5 = null;
// 第一行 表头
cell5 = new PdfPCell(JHCreatePDF.createPhrase(null,textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell5.setColspan(2);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("单字母视锐度",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("行字母视锐度",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("拥挤字母视锐度",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
// 第二行
cell5 = new PdfPCell(JHCreatePDF.createPhrase("左眼",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell5.setPaddingTop(7);
cell5.setRowspan(2);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练前",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("填写你的数据”,textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(leftPreVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(leftPreVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练后",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(leftSufVA.getSingleLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(leftSufVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(leftSufVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
// 第三行
cell5 = new PdfPCell(JHCreatePDF.createPhrase("右眼",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell5.setPaddingTop(7);
cell5.setRowspan(2);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练前",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightPreVA.getSingleLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightPreVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightPreVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练后",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightSufVA.getSingleLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightSufVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(rightSufVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
// 第四行
cell5 = new PdfPCell(JHCreatePDF.createPhrase("双眼",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell5.setRowspan(2);
cell5.setPaddingTop(7);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练前",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doublePreVA.getSingleLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doublePreVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doublePreVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase("训练后",textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doubleSufVA.getSingleLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doubleSufVA.getLineLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
cell5 = new PdfPCell(JHCreatePDF.createPhrase(doubleSufVA.getCrowdLetter(),textFont));
cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
table.addCell(cell5);
table.setWidthPercentage(100); // 填充度,百分百填充
section.add(table);
}