Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从pdftk中排除不可见字段_Pdf_Pdftk_Fdf - Fatal编程技术网

从pdftk中排除不可见字段

从pdftk中排除不可见字段,pdf,pdftk,fdf,Pdf,Pdftk,Fdf,我正在使用/usr/bin/pdftk filename.pdf dump_data_fields output-flatte获取pdf中的FDF字段,但它似乎也包含不可见的FDF字段 是一个单页PDF,没有任何txt,但有许多不可见的FDF字段。pdftk的输出可以在上看到 如何排除不可见的FDF字段 我目前正在使用pdftk,但我也愿意使用其他工具 谢谢 我的猜测是,您必须自己检查PDF以检测字段是否不可见。另一方面,判断字段是否不可见可能变得非常棘手,除非有标志设置此项 例如,虽然我不知道

我正在使用
/usr/bin/pdftk filename.pdf dump_data_fields output-flatte
获取pdf中的FDF字段,但它似乎也包含不可见的FDF字段

是一个单页PDF,没有任何txt,但有许多不可见的FDF字段。pdftk的输出可以在上看到

如何排除不可见的FDF字段

我目前正在使用pdftk,但我也愿意使用其他工具


谢谢

我的猜测是,您必须自己检查PDF以检测字段是否不可见。另一方面,判断字段是否不可见可能变得非常棘手,除非有标志设置此项

例如,虽然我不知道这是否可能,但假设一个字段在页面之外,或者被另一个内容覆盖它是否可见?

顺便说一下,您可以使用检查PDF文件的内容。下面的命令将解压缩您的pdf以使其可读

qpdf --qdf --object-streams=disable orig.pdf uncompressed-qpdf.pdf
如果您更喜欢JSON表示法:

qpdf --json your_pdf.pdf > your_pdf.json
如果使用后面的方法,则可以使用解析函数解析json输出

然后,使用您想要应用的。我还建议采取以下步骤:

  • 生成一个给定字段可见的pdf
  • 此pdf的另一份副本,但字段隐藏
  • 将两个文件都解压缩,然后与进行比较

@amesshel-done.@amesshel-PDF实际上是我的一位同事发给我的,让我调查一下。他们向其中添加了FDF字段,但看到
dump\u data\u fields
返回了他们在PDF中看不到的字段。收到PDF后,我用Adobe Acrobat Pro删除了除一页以外的所有页面,然后选择了单独页面的内容并将其删除。然后我保存了PDF文件,并能够重现该问题。有可能原始PDF也有这些隐藏字段IDK你说的fdf字段是什么意思?如果pdf包含字段,则它包含acroform字段或xfa字段。这些字段是带有合并小部件注释的常规pdf字段,甚至包括外观流,它们只是不从文档的任何页面引用。它们既不是通过标志(不可见、隐藏和NoView均未设置)也不是通过大小(Rect不是0x0)不可见。我通过不可见收集op的意思并不奇怪它们是否被任何东西覆盖,只是它们是否由于某些字段或注释标志或0大小的矩形而不可见。@mkl,这将非常好,我问这个问题是因为经过一番初级检查后,我无法弄清楚这些字段是如何不可见的。它们只是没有从文档的页面中引用。除此之外,它们没有以任何方式标记为不可见。这就是抽象的AcroForm定义。是的,这些字段在PDF中定义,并在AcroForm字典中收集,它们只是没有附加到特定的文档页面。