很少有人能否认多年来 PDF 格式变得越来越臃肿,而你有时在 PDF 文件中发现的一个功能是可填写的表格。你会在美国税务文件、RPG 角色表、线上学校作业本和其他旨在互动的 PDF 文件中看到这种情况。虽然大多数现代的 PDF 浏览器,比如 GNOME 的 Evince 和 KDE 的 Okular,都可以填写 PDF 表格,但你也可以在 pdftk-java的帮助下填写 PDF 表格。
在对生成 PDF 的组织的工作流程的有时令人钦佩和有时尴尬的一瞥中,你会发现一些表格有明确的标签,而其他表格有默认的名字,如 “Checkbox_001” 和 “Textfield-021”,所以你可能要把你的文本文件和你的 PDF 对照一下,但如果你要写一个脚本来自动填写表格,这可能是值得的。每个标签都被标记为 /T项,在接下来的一行中,有空间(标记为/V)提供给文本输入。下面是一个片段,它的标签有上下文,并填入了一些数据:
/T (CharacterName 2)/V (Abaddon)>>>>>>
当你输入了表单数据,你就可以用 fill_form动作将你的文本输入与 PDF 结构结合起来:
$ pdftk character-sheet.pdf \ fill_form chsheet-form.txt \ output completed.pdf
下面是一个结果示例。
PDF 修改变得简单
当你处理大量的 PDF 文件或通过 shell 脚本处理 PDF 文件时,像 pdftk-java这样的工具是非常有价值的,因为它使你不必手动做所有的事情。当我从Docbook的输出建立一个 PDF 时,它是一个 Makefile,调用pdftk-java完成任何数量的任务,所以我没有机会忘记某个步骤或打错命令,也没有必要把时间花在这上面。在你自己的工作流程中,还有很多其他的原因你可能会使用pdftk-java,它还可以做很多其他的事情,包括shuffle、rotate、dump_data、update_info和attach_files等动作。如果你发现自己经常与 PDF 文件打交道,可以试试pdftk-java。