检查jbowman在对其问题的评论中提供的文件—特别注意密码字段(这是通常由evince填写的字段之一)—:
模板.pdf
- 是Scribus PDF Library 1.4.1.svn生成的原始表单;
- 包含一个具有9个字段的AcroForm,并将标志NeedAppearances设置为true;
- 具有一个密码字段(名为passwordField),其中包含一个空值和一个 正常的 外观流,该流使用空白文本绘制一个矩形。
after_itext.pdf
- 是iText 2.1.5编辑的原始表单,不幸的是不在附加模式下,这会使分析更加容易;
- 包含一个具有8个字段的Acroform(成员编号字段已填写并展平),没有NeedAppearances标志;
- 具有密码字段(名为passwordField:u4woYY1FK9)的值,外观保持不变。
after_itext_edited.pdf
- 是以前由iText编辑的表单,现在由其他软件(证据)以附加模式编辑的表单;
- 包含一个具有8个字段且没有NeedAppearances标志的Acroform;对字段passwordField:u4woYY1FK9和memberPrefix:u4woYY1FK9所做的唯一更改是:
- 密码字段(名为passwordField:u4woYY1FK9)具有新的关联值 asdf, 但其外观保持不变;
- 具有具有新的关联值 asdf 的成员前缀字段(名为memberPrefix:u4woYY1FK9),但其外观保持不变。
因此,可以观察到默认值未显示的观察到的行为:
最终的Acroform没有NeedAppearances标志。ISO
32000-1:2008规范中将该标志定义为:
一个标志,用于指定是否为文档中的所有小部件注释构造外观流和外观字典(请参见12.7.3.3,“变量文本”)。默认值:false。
因此,您的PDF文档的最终格式为:无需生成窗口小部件的外观(例如AcroForm字段可视化),只需从文档中获取外观即可。
文档中密码字段的外观是原始的,带有空白文本的矩形。
因此,您会看到一个空矩形。
当您单击该字段时,PDF查看器将准备编辑其内容,因此将显示它认为合适的值。
如果使用evience编辑PDF文件的目的是为了获得可见的结果,则更改字段的值后,evince 还 必须
添加更新的外观流,或确保设置了AcroForm NeddAppearances标志。因此,这是证据失败的地方。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)