首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IText7-社区AcroFields在flatten上被撕裂

IText7-社区AcroFields在flatten上被撕裂
EN

Stack Overflow用户
提问于 2018-05-10 23:35:42
回答 1查看 397关注 0票数 0

我用Master PDF Editor创建了一个包含一个表单文本字段的PDF。当使用iText7-Community操作PDF文件时,我设法找到该字段并设置它的值。然而,当我展平输出的PDF文件时,该字段被抓取并消失。

底线:字段在没有展平的情况下显示得很好,在展平时会消失。

我在XfaForm上运行isXfaPresent(),得到的响应是false,所以我知道它确实是AcroForm

所以,这就是我尝试过的:

代码语言:javascript
复制
PdfReader reader = new PdfReader("path-to-file.pdf");
PdfWriter writer = new PdfWriter("path-to-dest-file.pdf");
PdfDocument doc = new PdfDocument(reader, writer);

PdfAcroForm form = PdfAcroForm.getAcroForm(doc, false);
form.getField("treinamento").setValue(param);
System.out.println("----> " + form.getField("treinamento").value);
form.flattenFields();
doc.close();

System.out显示正确设置的值,但输出文件不显示它。如果我注释form.flattenFields(),它就会这样做。

任何关于我应该做什么来解决这个问题的帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-05-14 16:53:00

在调用setValue(...)之后尝试调用form.getField("treinamento").regenerateField();

代码语言:javascript
复制
PdfReader reader = new PdfReader("path-to-file.pdf");
PdfWriter writer = new PdfWriter("path-to-dest-file.pdf");
PdfDocument doc = new PdfDocument(reader, writer);

PdfAcroForm form = PdfAcroForm.getAcroForm(doc, false);
form.getField("treinamento").setValue(param);
System.out.println("----> " + form.getField("treinamento").value);
form.getField("treinamento").regenerateField();
form.flattenFields();
doc.close();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50276549

复制
相关文章

相似问题

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