效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201028101612755.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NmMDgyNDMw,size_16,color_FFFFFF,t_70#pic_center)
功能
- 设置页面大小
- 设置字体
- 设置标题
- 画table
代码
Document document = new Document();
Rectangle rec = new Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth());
rec.rotate();
document.setPageSize(rec);
String formName = "资产验收单";
String sap = File.separator;
tempDir = sap+"sign"+sap+"assetPdf";
tempDir +=sap+"资产验收单"+sap+new SimpleDateFormat("yyyyMMdd").format(new Date());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String destFileName = formName + ".pdf";
File destFile = new File(tempDir,destFileName);
if (!destFile.getParentFile().exists()) {
destFile.getParentFile().mkdirs();
}
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(destFile.getAbsoluteFile()));
document.open();
String font_cn = InvoiceProcessServiceImpl.class.getResource("simsun.ttc").toString()+",0";
BaseFont bf = BaseFont.createFont(font_cn,
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bf, 12, Font.NORMAL);
Font fontChineseTitle = new Font(bf, 16, Font.BOLD);
Paragraph title = new Paragraph("江苏实达迪美数据处理有限公司", fontChineseTitle);
title.setAlignment(Element.ALIGN_CENTER);
title.setLeading(1f);
document.add(title);
Paragraph formTitle = new Paragraph(formName, fontChineseTitle);
formTitle.setSpacingBefore(2f);
formTitle.setAlignment(Element.ALIGN_CENTER);
document.add(formTitle);
Font fontSettleCycle = new Font(bf, 12, Font.BOLD);
Paragraph settleCycle = new Paragraph("验收日期:" + "1111", fontSettleCycle);
settleCycle.setSpacingBefore(1f);
settleCycle.setSpacingAfter(2f);
settleCycle.setAlignment(Element.ALIGN_RIGHT);
document.add(settleCycle);
PdfPTable table1 = new PdfPTable(4);
table1.setWidthPercentage(100);
float[] columnWidths1 = { 0.66f,2f,0.67f,0.67f};
table1.setWidths(columnWidths1);
table1.addCell(getPDFCell("资产名称", fontChinese));
table1.addCell(getPDFCell("12121211", fontChinese));
table1.addCell(getPDFCell("规格型号", fontChinese));
table1.addCell(getPDFCell("12121211", fontChinese));
document.add(table1);
PdfPTable table2 = new PdfPTable(6);
table2.setWidthPercentage(100);
float[] columnWidths2 = { 0.66f,1f,0.5f,0.5f,0.67f,0.67f};
table2.setWidths(columnWidths2);
table2.addCell(getPDFCell("资产编号", fontChinese));
table2.addCell(getPDFCell("12121211", fontChinese));
table2.addCell(getPDFCell("数量", fontChinese));
table2.addCell(getPDFCell("12121211", fontChinese));
table2.addCell(getPDFCell("总金额(元)", fontChinese));
table2.addCell(getPDFCell("12121211", fontChinese));
document.add(table2);
PdfPTable table3 = new PdfPTable(2);
table3.setWidthPercentage(100);
float[] columnWidths3 = { 2.66f,1.34f};
table3.setWidths(columnWidths3);
table3.addCell(getPDFCell("验收内容(功能、指标)", fontChinese));
table3.addCell(getPDFCell("验收情况", fontChinese));
document.add(table3);
PdfPTable table4 = new PdfPTable(2);
table4.setWidthPercentage(100);
float[] columnWidths4 = { 2.66f,1.34f};
table4.setWidths(columnWidths4);
table4.addCell(getPDFCellBiggest("过", fontChinese));
table4.addCell(getPDFCellBiggest("ok", fontChinese));
document.add(table4);
PdfPTable table5 = new PdfPTable(4);
table5.setWidthPercentage(100);
float[] columnWidths5 = { 0.66f,1.34f,0.66f,1.34f};
table5.setWidths(columnWidths5);
table5.addCell(getPDFCellBig("验收经办人", fontChinese));
table5.addCell(getPDFCellBig("1010", fontChinese));
table5.addCell(getPDFCellBig("资产保管人", fontChinese));
table5.addCell(getPDFCellBig("1010", fontChinese));
document.add(table5);
PdfPTable table6 = new PdfPTable(2);
table6.setWidthPercentage(100);
float[] columnWidths6 = { 0.66f, 3.34f };
table6.setWidths(columnWidths6);
table6.addCell(getPDFCellBigest("委外开发项目评审小组", fontChinese));
table6.addCell(getPDFCellBigest("1010", fontChinese));
document.add(table6);
PdfPTable table7 = new PdfPTable(6);
table7.setWidthPercentage(100);
float[] columnWidths7 = { 0.66f, 0.7f,0.66f,0.66f,0.66f,0.66f };
table7.setWidths(columnWidths7);
PdfPCell cell7 = new PdfPCell(getPDFCell("部门经理", fontChinese));
cell7.setMinimumHeight(35f);
table7.addCell(cell7);
cell7 = new PdfPCell(getPDFCell("", fontChinese));
table7.addCell(cell7);
cell7 = new PdfPCell(getPDFCell("分管领导", fontChinese));
cell7.setMinimumHeight(35f);
table7.addCell(cell7);
cell7 = new PdfPCell(getPDFCell("", fontChinese));
table7.addCell(cell7);
cell7 = new PdfPCell(getPDFCell("综合管理部经理", fontChinese));
cell7.setMinimumHeight(35f);
table7.addCell(cell7);
cell7 = new PdfPCell(getPDFCell("", fontChinese));
table7.addCell(cell7);
document.add(table7);
document.close();
writer.close();