当前位置: 首页 > 知识库问答 >
问题:

在android上用itext填充pdf表单字段后为空

邰勇军
2023-03-14

在我的Android应用程序中,我从pdffile中填充表单字段,使用itextg如下:

PdfReader reader = new PdfReader(this.templateFile);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(this.targetFile));
AcroFields form = stamper.getAcroFields();

for (String key : values.keySet()) {
    form.setField(key, values.get(key));
}

stamper.setFormFlattening(true);
stamper.close();    

我可以看到,在调试和检查压模时,模板字段的值实际上是设置的。但是一旦我打开目标文件,我所有的字段都是空的。

如果我不平整我的窗体,这些值会保留在字段中,这让我相信这些值也会存在于fladedpdf中,但不会显示。

顺便说一句,在itext演示中使用FormFiller表单(http://itextpdf.com/itext-android-demos)同样的pdf工作得非常好!

共有1个答案

邹英发
2023-03-14

这可能是由不同的事情引起的。

使用iText查看pdf交互式表单的外观问题,您可以在其中找到以下答案:

这似乎是iText某些版本的错误。我有同样的问题与iTextSharp版本5.5.5和它被解决后,我升级到版本5.5.9。

请参见可编辑的.pdf字段在使用evince保存后消失(但在字段焦点上可见),通过更改外观设置解决了问题:

form.put(PdfName.NEEDAPPEARANCES, PdfBoolean.PDFTRUE);

或者请参阅iText 5.5未能填写指示iText创建外观的表单:

af.setGenerateAppearances(true);

我将从af.setGenerateAppearances(true)开始 第一个。

 类似资料:
  • 我有一个基于XFA的pdf表单,我们需要使用java来填充它。你能建议最好的方法吗。我能够使用iText为pdf生成xfa xml。 我有从上面的代码生成的Pdf和Xfa XML。你能不能建议我如何继续下去,因为我似乎没有主意了。我试图检查XFA文档,但似乎不对。我没有xml,pdf非常复杂,因为它有许多字段,是一个动态XFA pdf表单。 您的帮助和建议将受到衷心的感谢。

  • 我有一个PDF文件,里面有一些我需要从Java代码中填写的表单字段。为此,我使用iText 2.1.7库,代码如下: 我会收到以下错误消息:

  • 字体Adobe希伯来文 文本方向RTL 我试过平场和不平场。 当字段没有平坦化时,在使用Acrobat Reader打开生成的PDF后,我看到了我的字段,但它是空的。只有在我点击该字段后,该字段的内容才会正确出现。当我在Chrome上查看PDF时,字段不会出现(或者它可能在那里,但里面没有文本)。 编辑:测试PDF可从这里下载

  • 我正在使用最新版本的iText(5.5.0)来填充pdf表单并将其展平。 出于某种原因,当我使用fdf填写表格时,除了像“ç”这样的特殊字符外,一切都正常。但当我使用xfdf时,会出现特殊字符,但有两个字段不会出现(“comment”和“datelicFormatted”) - 该表单是通过转换word文档并使用acrobat 10添加文本字段创建的。 真正奇怪的是当我要求不要展平它时:字段包含正

  • 我使用的是fpdf的“表格填写”脚本。org来填充我创建的PDF表单上的一些字段。这似乎工作正常。 我希望生成的PDF表单被展平,以便用户无法编辑表单字段。为此我使用PDFTK。但是,当我尝试展平PDF时,我得到一个表单字段为空的PDF。 关于如何使PDF扁平化(使用PHP)的任何建议都将不胜感激。谢谢! 这是我的代码: 下载原始Test.pdf文件:Test.pdf 下载Filled1。pdf文

  • 我试图用fdf或xfdf中的汉字填充pdf字段。 到目前为止,我已经尝试了pdftk、mcpdf、pdfbox和fpdm。 它们都可以将字符输入字段,但不会显示。当我点击要编辑的字段时,字符按预期显示,但当我再次点击字段外时,字符消失。如果我输入的是英语,它们就会显示错误,例如“hello”变成“IFMMP”。 这一切都让我怀疑这是字体/字符映射的问题,我尝试过将完整的字体嵌入到pdf中,但没有任