我正在使用 pdftk以及用于从 FDF 数据填写 PDF 表单的 fill_form 命令。
当我执行命令时,PDF 输出已成功创建,除了打开 PDF 时:
- Acrobat 阅读器中出现一个对话框,显示“该文档包含在 Adobe Reader 中启用特殊功能的某些权利。该文档自创建以来已被更改,这些权利不再有效。请与作者联系以获取原始版本这份文件。”
谁能解释为什么我会收到“此文档包含...”对话框以及如何摆脱它?
作为一些背景,这是我的过程。
作为起点,我使用了 Adobes example interactive form from here .
我应用了 pdftk 命令 dump_data_fields 来建立 PDF 表单中输入字段的名称,然后基于此我使用 fdfgen library 生成了带有一些示例数据的 FDF,如下所示:
#!python
from fdfgen import forge_fdf
fields = []
fields.append(('Name_Last','Peters'))
fields.append(('Name_First','John'))
fdf = forge_fdf("",fields,[],[],[])
fdf_file = open(".\\dataOut\\adobe-reference-interactiveform_enabled.fdf","w")
fdf_file.write(fdf)
fdf_file.close()
然后我执行命令:
pdftk.exe ".\dataIn\adobe-reference-interactiveform_enabled.pdf" fill_form ".\dataOut\adobe-reference-interactiveform_enabled.fdf" output ".\dataOut\adobe-reference-interactiveform_enabled_PostProcessing1.pdf" flatten verbose
请您参考如下方法:
这是一种方式
pdftk interactiveform_enabled.pdf fill_form interactiveform_enabled.fdf output flattened.pdf flatten
pdf2ps flattened.pdf flattened_nowarn.ps
ps2pdf flattened_nowarn.ps flattened_nowarn.pdf
acroread flattened.pdf <-- 显示警告
acroread flattened_nowarn.pdf <-- 无警告
但是请注意,flattened_nowarn.pdf 将是 PDF 版本 1.4,而原始版本是 1.6,因此它可能会丢失内容。例如,不显示便签。
执行此操作的官方方法是使用 Adobe Acrobat,但我没有,因此无法对其进行测试。参见 http://blog.tangcs.com/2011/09/03/pdf-this-document-contained-certain-rights-to-enable-special-features-in-adobe-reader/
