我正在使用pdftk填写带有XFDF文件的PDF表单.但是,对于这个项目,我事先并不知道将出现哪些字段,因此我需要分析PDF本身以查看需要填写的字段,相应地向用户显示接口,然后从中生成XFDF文件填写PDF表格.
我如何获得字段名称?最好是命令行,.NET或PHP解决方案.
小智 47
简单!您已经在使用pdftk了
# pdftk input.pdf dump_data_fields
Run Code Online (Sandbox Code Playgroud)
它将输出字段名称,字段类型,它的一些属性(如下拉列表或文本对齐的选项),甚至是工具提示文本(我发现它非常有用)
我唯一缺少的是场地坐标......
hyi*_*tiz 14
考虑到pdftk是废弃软件,您可以使用qpdf库以 JSON 格式转储元数据,并用于jq仅过滤表单相关数据:
qpdf inout.pdf --json | jq '.acroform.fields'
Run Code Online (Sandbox Code Playgroud)
qpdf是一个轻量级跨平台FOSS库,jq是一个JSON过滤程序(就像grep一个行过滤程序)。如果您不想使用jqJSON,您可以随时使用转储qpdf input.pdf,然后在转储中自行查找元数据。
Dev*_*rps 10
这对我有用:
pdftk 1.pdf dump_data_fields output test2.txt
Run Code Online (Sandbox Code Playgroud)
然后,当使用密码加密文件时,您可以从中进行读取
pdftk 1.pdf input_pw YOUR_PASSWORD_GOES_HERE dump_data_fields output test2.txt
Run Code Online (Sandbox Code Playgroud)
这花了我2个小时来做对,所以希望我能节省你一些时间:)
Chr*_*one -5
我可以让我的客户使用 Acrobat 导出 XFDF 文件(包含字段名称)和 PDF,这完全避免了这个问题。