PDF合并无法通过Java iText正常工作,空白表格合并为最终PDF

时间:2016-08-25 10:20:33

标签: java itext pdfstamper

我们有两个PDF,我们使用下面的代码snipet更新了这两个PDF的表单字段

PdfReader reader = new PdfReader("Test.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("Test_1.pdf"));
AcroFields form = stamper.getAcroFields();
form.setField("issued_by", "Test");
if (stamper != null) {
stamper.close();
}

现在,当我尝试将两个PDF合并为一个时,最后PDF的表单字段值将在最终PDF中消失。尽管在最终PDF和模板中正确创建了新页面,但不存在表单文件值。 我使用下面的代码进行合并

PdfReader reader = new PdfReader("Test_1.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("Final.pdf"));
reader = new PdfReader("Test_2.pdf");
stamper = mergePDFDocuments(reader,stamper);
if (stamper != null) {
stamper.close();
}

public static PdfStamper mergePDFDocuments(PdfReader reader,PdfStamper stamper) {       
try {        
stamper.insertPage(stamper.getReader().getNumberOfPages()+1,  stamper.getReader().getPageSizeWithRotation(1));
PdfContentByte under = stamper.getOverContent(stamper.getReader().getNumberOfPages());
PdfImportedPage page = stamper.getImportedPage(reader, 1);
under.addTemplate(page, 0,0);  
}
catch (Exception e) {
e.printStackTrace();
} 
return stamper;
}

任何人都可以建议我犯错误的地方。 我使用的是JDK 1.7.0_71和iText 5.4.1

0 个答案:

没有答案