首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何填写现有PDF的表单,然后使用itext将其添加到新PDF

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

Stack Overflow用户
提问于 2018-07-24 02:35:35
回答 1查看 207关注 0票数 0

我正在使用下面的代码

代码语言:javascript
复制
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中,而无需再次加载为文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 03:46:11

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

在……里面

代码语言:javascript
复制
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

使用ByteArrayOutputStream实例替换FileOutputStream

然后在

代码语言:javascript
复制
PdfReader reader2 = new PdfReader(dest);

使用接受字节数组的PdfReader构造函数,并将来自ByteArrayOutputStream实例的字节数组提供给它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51485237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档