跳到主要内容
PulsarKit

PDF表单扁平化和填写不是一回事

填写PDF表单和扁平化PDF表单是两种不同的操作,弄混了,文档要么仍可编辑,要么锁定得太早。

作者:PulsarKit · ·

表单字段把你的答案和页面本身分开存放

PDF表单字段是一个独立的对象,浮在普通页面内容之上。它保存一个值,另外还保存这个值的一小幅图形,由阅读器显示在屏幕上。在PDF表单或任何阅读器里填写字段,就是把值写进这个对象,而答案和之前一样可以改动:可以编辑、可以清空,下一个用任何PDF阅读器打开文件的人都能覆盖它。这正是可填写表单的意义所在。也正因为如此,填好但没有扁平化的表单还不算定稿的文档,因为之后打开它的任何人都可以悄悄改掉填写的内容。

扁平化删除的是字段本身,而不只是让它不能编辑

PDF扁平化取出已填写字段的外观,把这个外观直接画进页面内容,然后彻底删除字段对象。你输入的文字仍以同样的大小和位置显示在页面上,但已经没有可以点进去的框,没有可以清空的值,也没有哪个阅读器设置能让它显示成别的样子。答案变成了普通的页面内容,和一直印在那里的文字没有区别。这一步无法撤销。字段一旦消失,就没有任何东西能再变回可编辑的表单。

一切都定下来之后,才是扁平化的时机

扁平化太早是一个常见而且可以避免的错误。还没仔细核对,或者同事还没来得及审阅填好的表单,就把答案锁定,意味着之后要改一个错字,就得把整份表单从头填一遍,而不是再点进字段里改。扁平化的自然时机,是表单已经填完、审阅完,马上要正式发出去的那一刻。不要每份表单一填完,就习惯性地去扁平化。

印章和标记遵循和字段完全相同的规则

叠在PDF上面的注释、高亮、便签和盖上去的签名图片,包括PDF批注添加的标记,处理逻辑和表单字段一样。在扁平化进页面之前,它们都是可以完全编辑、可以删除的批注;扁平化之后,就变成永久的,无法删除。PDF签名的做法不同:它把签名直接画进页面内容,所以之后没有什么需要扁平化的。仍在审阅中的文档,可能有人需要撤回一条注释或挪动一个印章,应该保持不扁平化。准备定稿分发的文档,才是把这些批注扁平化的时候。

为什么扁平化不等于签署文档

扁平化能证明什么,值得说准确,因为它很容易被误认为是更强的东西。扁平化只保证一个值不能再编辑。至于是谁填的字段、什么时候填的、文档之后有没有被改过,它什么都说明不了。数字签名是完全不同的机制。它嵌入一份可验证的证书,能发现签名之后对文档的任何改动。扁平化只是把答案的版面固定在原处;只有真正的签名才能证明是谁为它负责。

表单的常见错误

代价最大的错误是把唯一的副本扁平化。把填好、未扁平化的文件和扁平化后的文件放在一起保存,因为字段一旦消失就无法恢复,这也正是PDF扁平化里的确认框所提醒的。第二个错误是发出去的表单在收件人看来是空的。有些表单填写软件只保存输入的值,不绘制它,于是换一个阅读器就只显示空白框;在PDF表单里填写会重建每个字段的外观,而扁平化会把这个外观原样画进页面。第三个错误是把下一个人还要填写的模板全部扁平化:只选择批注,印章就会变成永久的,而字段仍可填写。有两件事根本不是错误。超链接在每种模式下扁平化后都会保留,因为链接没有可以印上去的外观,删掉它对谁都没有好处。另外,拒绝扁平化的XFA表单并没有坏:它基于浏览器无法绘制的XML模板构建,需要用Acrobat处理。

安全的顺序:填写、检查、扁平化、发送

一个能避开上面所有问题的流程,多花一分钟,能省下一次重发。先填写字段,保存可编辑的副本。在第二个阅读器里打开这份副本(手机自带的查看器就够了),确认每个值都能看到而且正确:在这里发现错字只需点一下,扁平化之后同样的错字就得把整份表单重来一遍。然后再扁平化,按哪些内容需要保持可编辑,选择表单、批注或两者,并保留未扁平化的文件。如果文档需要密码,或者必须满足大小限制,最后再做,用PDF加密或PDF压缩:两者都会原样接收扁平化后的文件,而且都不能把字段变回来。打印也是先扁平化的又一个理由,因为有些打印机驱动会漏掉字段内容,或者把它画成别的大小。

本文用到的工具

继续阅读