繁体   English   中英

如何填写现有PDF的表单,然后使用itext将其添加到新的PDF中

[英]How fill form of an existing PDF and then add it to a new PDF using itext

我正在使用以下代码

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();
form.setField("name", "John");
stamper.setFormFlattening(true);
stamper.close();
reader.close();
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest2));
document.open();
PdfContentByte cb = writer.getDirectContent();
//Loading the filled form again as a file
PdfReader reader2 = new PdfReader(dest);
PdfImportedPage page = writer.getImportedPage(reader2, 1);
document.newPage();
cb.addTemplate(page, 0, 0);
document.newPage();
document.add(new Paragraph("my timestamp"));
document.close();

在这里,我再次加载已填充的文件以添加到新的pdf文件中,如何将已填充的pdf从内存添加到新的pdf而不再次加载为文件。

如何从内存中将填充的pdf添加到新的pdf中,而无需再次加载为文件。

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

ByteArrayOutputStream实例替换FileOutputStream

然后在

PdfReader reader2 = new PdfReader(dest);

使用接受字节数组的PdfReader构造函数,并从ByteArrayOutputStream实例向其提供字节数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM