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

Java 如何填写现有PDF的表单,然后使用itext将其添加到新PDF,java,pdf,itext,Java,Pdf,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(); read

我正在使用以下代码

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,而无需再次作为文件加载

FileOutputStream
替换为
ByteArrayOutputStream
实例

然后在

PdfReader reader2 = new PdfReader(dest);
使用
PdfReader
构造函数接受字节数组,并从
ByteArrayOutputStream
实例向其提供字节数组

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

FileOutputStream
替换为
ByteArrayOutputStream
实例

然后在

PdfReader reader2 = new PdfReader(dest);

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

不确定此问题为何被否决。有密码。对这个问题作了充分的描述。诚然,答案是微不足道的,但这并不意味着这是一个坏问题,因为对于有经验的开发人员来说微不足道的东西,对于每个开发人员来说可能并不微不足道。如果你投了反对票,请添加一条带有网站链接的评论。我把问题投了赞成票,取消了反对票。我不知道为什么这个问题被否决了。有密码。对这个问题作了充分的描述。诚然,答案是微不足道的,但这并不意味着这是一个坏问题,因为对于有经验的开发人员来说微不足道的东西,对于每个开发人员来说可能并不微不足道。如果你投了反对票,请添加一条带有网站链接的评论。我对这个问题投了赞成票,取消了反对票。