2012-03-04 88 views
1

我正在使用pdftkfill_form命令从FDF数据填写PDF表单。pdftk - fill_form导致“此文档包含某些权限”对话框?

当我执行PDF输出在打开PDF文件时,除了成功创建了命令:

  • 出现一个对话框Acrobat Reader中说:“这个文件中包含的某些权利,使特殊功能的Adobe Reader的文档自创建以来已经发生了变化,这些权利已不再有效,请联系作者以获取本文档的原始版本。“

任何人都可以解释为什么我得到“此文件包含...”对话框以及如何摆脱它?


由于这里的一些背景是我的过程。

作为一个起点,我使用Adobes example interactive form from here

我施加的PDFTK命令dump_data_fields时,为了建立输入字段的名称在PDF形式和基于我然后产生一个FDF一些样品数据使用fdfgen library如下:

#!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 

回答

0

这里有一种方法

  1. PDFTK interactiveform_enabled.pdf fill_form interactiveform_enabled.fdf输出flattened.pdf弄平

  2. pdf2ps flattened.pdf flattened_nowarn.ps

  3. PS2PDF flattened_nowarn.ps flattened_nowarn.pdf

acroread扁平.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/