org.projectlombok
lombok
true
根据PDF模板生成文件和拼接产品的数据
/**
-
根据PDF模板生成PDF文件
-
@return
*/
@GetMapping(“generatePdf”)
public String generatePdf() throws Exception{
// File file = ResourceUtils.getFile(“classpath:”+SAVE_PATH);
File pdfFile = new File(ResourceUtils.getURL(“classpath:”).getPath()+SAVE_PATH);
try {
PdfReader pdfReader;
PdfStamper pdfStamper;
ByteArrayOutputStream baos;
Document document = new Document();
//
PdfSmartCopy pdfSmartCopy = new PdfSmartCopy(document,
new FileOutputStream(pdfFile));
document.open();
File file = ResourceUtils.getFile(“classpath:”+templatePath);
pdfReader = new PdfReader(file.getPath());
int n = pdfReader.getNumberOfPages();
log.info(“页数:”+n);
baos = new ByteArrayOutputStream();
pdfStamper = new PdfStamper(pdfReader, baos);
for(int i = 1; i <= n; i++) {
AcroFields acroFields = pdfStamper.getAcroFields();
//key statement 1
acroFields.setGenerateAppearances(true);
//acroFields.setExtraMargin(5, 5);
acroFields.setField(“customerAddress”, “上海市浦东新区田子路520弄1号楼”);
acroFields.setField(“customerCompanyName”, “上海百度有限公司”);
acroFields.setField(“customerName”, “张三”);
acroFields.setField(“customerPhone”, “15216667777”);
acroFields.setField(“customerMail”, “123456789@sian.com”);
acroFields.setField(“vendorAddress”, “上海市浦东新区瑟瑟发抖路182号”);
acroFields.setField(“vendorCompanyName”, “牧小农科技技术有限公司”);
acroFields.setField(“vendorName”, “王五”);
acroFields.setField(“vendorPhone”, “15688886666”);
acroFields.setField(“vendorMail”, “123567@qq.com”);
acroFields.setField(“effectiveStartTime”, “2021年05月25”);
acroFields.setField(“effectiveEndTime”, “2022年05月25”);
//true代表生成的PDF文件不可编辑
pdfStamper.setFormFlattening(true);
pdfStamper.close();
pdfReader = new PdfReader(baos.toByteArray());
pdfSmartCopy.addPage(pdfSmartCopy.getImportedPag