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

为什么在使用Acrobat DC创建的PDF中,pikepdf会填写一些PDF字段,而不填写其他字段

衡高寒
2023-03-14

我有一个PDF表单字段创建与Acrobat DC由我的客户。我使用Python pikepdf以编程方式填充这些字段。奇怪的问题是,有些字段填满了,而另一些字段没有填满。我用Acrobat DC检查了一遍又一遍:所有字段都有完全相同的文本字段属性,名称显然是唯一的。Python代码使用字段的正确名称来寻址这些字段。所以我怀疑问题可能与我的客户创建字段的方式有关。使用Acrobat DC,我删除了有问题的字段,并创建了全新的字段,其文本字段属性与显示为“填充”的字段相同--但没有用。

现在我用Acrobat Reader检查了PikePDF生成的PDF,所有填写的字段都显示了它们的值,叹息!但是,没有一个Linux PDF查看器在显示某些其他字段的内容时显示违规字段的内容。我尝试了Okular、Atril(XFCE4的文档查看器)和LibreOffice绘图。这似乎表明杂技演员方面的问题。有什么想法吗?

共有1个答案

钦高峯
2023-03-14

@joelgeraci:你说得对,pikepdf不生成外观流。奇怪的是,像XFCE4文档查看器这样的查看器会显示某些字段的填充值,而不显示其他字段的填充值。下面是PIKEPDF生成的页面转储的一部分:

<pikepdf.Dictionary(type_="/Page")({
  "/Annots": [ {
    "/DA": "/HeBo 14 Tf 0 g",
    "/F": 4,
    "/FT": "/Tx",
    "/Ff": 12582912,
    "/MK": {

    },
    "/P": <.get_object(785, 0)>,
    "/Q": 1,
    "/Rect": [ Decimal('134.783'), Decimal('432.837'), Decimal('205.463'), Decimal('458.588') ],
    "/StructParent": 201,
    "/Subtype": "/Widget",
    "/T": "Number_01",
    "/Type": "/Annot"
  }, {
    "/DA": "/HeBo 14 Tf 0 g",
    "/F": 4,
    "/FT": "/Tx",
    "/Ff": 12582912,
    "/MK": {

    },
    "/P": <.get_object(785, 0)>,
    "/Q": 1,
    "/Rect": [ Decimal('590.089'), Decimal('430.645'), Decimal('660.768'), Decimal('455.76') ],
    "/StructParent": 202,
    "/Subtype": "/Widget",
    "/T": "Units_01",
    "/Type": "/Annot"
  } ],
...
})>

字段“number_01”显示为已填入,而字段“units_01”则不是,尽管这两个字段都没有外观流。尽管pikepdf不能更新外观流,但其他字段也有一个外观流,并且填充的值也会显示出来。我还想知道为什么Acrobat DC为某些字段创建外观流,而不为其他字段创建外观流。

 类似资料:
  • 问题内容: 我从我的android应用程序中的新功能开始,这将有助于填写某些PDF表格。 我发现最好的解决方案是使用iText库。 我可以读取文件,也可以从文档中读取AcroFields,但是是否有可能发现特定字段标记为必填项? 我试图在API文档和Internet上找到此选项,但是没有什么可以帮助解决此问题。 问题答案: 请查看我的书的 13.3.4节,标题为“ AcroForms重新访问”。清

  • 我是新的PDF框,需要填写的信息在PDF表单,其中有节和字段名: 填写信息的名称和框 地址和填写信息的框 城市框来填充信息。 目前没有错误上面的代码正在工作填写一些垃圾字段。 需要用方框信息填满姓名,方框信息填满姓名,方框信息填满地址,方框信息填满地址,方框信息填满地址

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

  • 问题内容: 我正在尝试使用Python处理一些使用Adobe Acrobat Reader填写并签名的PDF表单。 我试过了: 该pdfminer演示:它没有任何倾倒在填写数据。 pyPdf:当我尝试使用PdfFileReader(f)加载文件时,它最大化了内核2分钟,而我只是放弃并杀死了它。 Jython和PDFBox:虽然可以很好地工作,但是启动时间却很长,如果这是我唯一的选择,我只会用纯Ja

  • 请帮忙。注册页面一直显示此字段是必需的错误。我是初学者谢谢 模型。派克 来自django。数据库导入模型 从django.contrib.auth.models导入AbstractBaseUser, BaseUserManager 类用户管理器(BaseUserManager): 类帐户(AbstractBaseUser): views.py 来自django。快捷方式导入、渲染、重定向 来自dj

  • 这是片段: 有人请帮助我如何可以自动填充一个PDF的密码字段,需要一个密码访问。