Java实现PDF文件生成并且打印pdf文件(附demo)

时间:2025-02-15 10:50:28
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); }