2

有谁知道是否可以通过本地 FDF 和 PDF 文件的命令行参数打开 PDF 并输入 FDF 文件。网上有几处参考资料表明这可以通过 http 完成。我需要跨文件系统执行此操作。以下示例不起作用,但可能是因为我的参数不正确:

....\acrobat.exe c:\temp\myPDF.pdf#fdf=c:\temp\myFDF.fdf

4

2 回答 2

0

大约 15 分钟前,我对这个问题投了赞成票并加了星标,然后 5 分钟后我找到了解决方案。

没有关于如何通过命令行导入 FDF 的信息的原因是没有必要。要了解原因,我们需要查看 FDF 文件本身。

我一直在使用的 FDF 文件包含一行,其中所有字段及其值都为 <>。该行以;

/ID[<bit string><another bit string>]/UF(temp.pm.pdf)>>/Type/Catalog>>

我们感兴趣的 tl:dr 是文件名在 UF 之后的括号中。这就是 FDF 和 PDF 的关联方式。我已经用特殊字符包裹的标签替换了字段值和文件名值。当我的主应用程序写出 FDF 文件时, 它会使用值标签填充应该进入 PDF 中命名字段的数据,并将文件与 /uf 标签中命名的 PDF 相关联。我只测试了 Adob​​e Reader XI 和 FoxIt Reader v60,但我可以用任何一个阅读器打开 FDF,它会打开相关的 PDF 并填充它。输入错误的文件名,它会警告我找不到与此 FDF 关联的文件,并询问我是否要查找它。因此,如果您输入错误的文件名,甚至还有一些内置的恢复功能!

仅供参考,位字符串是第一次保存 PDF 时原始内容的表示,第二位字符串包含最近修改的版本。我真的不明白这一点,但它必须在那里。

此外,只要保持正确的语法,字段名和值可以按任何顺序排列。这很方便,因为您的字段不一定按逻辑顺序添加到文档中。

即使在我重新组织我的 FDF 并用我稍后处理的标签替换示例值之后,/ID[< >< >]的东西也需要在那里。不完全是人类可读的,并且似乎并不重要,但是如果没有它,它就会犹豫不决。

于 2013-12-05T17:55:05.633 回答
0

pdftk Example.pdf form_fill Example.fdf output ExampleFilled.pdf会做你最初要求的。

于 2018-01-15T02:54:59.557 回答