我有一个表单字段填充PDF,我想使用批处理脚本填充,我不能使用JavaScript,这似乎是首选的解决方案。这是通过批处理脚本可以完成的事情吗?
这些字段可以通过选项卡,假设一个字段的alt文本是它的名称,我也有这些字段,尽管至少有一个字段似乎没有命名。
理想情况下,我希望用可编程方式生成的变量填充多个特定字段,然后将PDF保存为一个新文件。
发布于 2022-07-07 03:06:14
是的,你可以

结果

使用Acrobat有一些潜在的限制,使用他们的API更好,然而,我更喜欢来自Tracker的PDFXedit,这也将更好地响应相同的FDF表单文件,特别是允许保存、导入导出等。

您不需要像我一样构建,但是它像使用头字符串一样复杂或简单。
%FDF-1.4
%âãÏÓ
1 0 obj
<<
/FDF <<
/F (AcroForm.pdf)
/Fields [<<和拖车字符串,理想情况下,将号码更改为有效的ID <16x2> <16x2>
>>]
/ID [<31323334353637383940414243444546> <31323334353637383940414243444546>]
/UF (AcroForm.pdf)
>>
/Type /Catalog
>>
endobj
trailer
<<
/Root 1 0 R
>>
%%EOF字段数据是一个/Tag和/Value对,每个数据必须用>> <<分隔,(文字文本)放在括号中。有可能使用位图作为文本和其他嵌入,但这远远超出了这一概念的证明。
/T (CheckBox1)/V /On
>> <<
/T (TestTextBox)/V (The quick brown fox jumped over the lazy form.)有关更复杂的情况,请参见https://stackoverflow.com/a/72547163/10802527
现在,要完成这个过程,您需要使用新的名称保存文件,这将取决于您对FDF应用程序的选择。windows的前三个应用程序都可以由批处理文件键盘宏驱动,因为我们已经避免了鼠标选择字段的任何需要。对于PDFXchange来说,它的开头类似于ALT+F+A+B+"Filepath\name.pdf"
使用vanilla,我们可以编写vbs脚本,或者更容易地使用sendkeys.exe运行聚焦序列(同样超出了简短答案的范围),但是对于Xchange (/close[:mode=save|discard|ask]),我认为福克斯有自己的命令行/api方法。
最好,这些命令应该通过管道DDE来完成,这样可以更容易地说,开放的FDF和关闭的PDF,但这些方法似乎通常是折旧,其中只有Acrobat仍然可以使用它们。
https://stackoverflow.com/questions/72889627
复制相似问题