过去几年,创建包含各种动态内容的 PDF 文档已成为一种时尚。其中一种设备是可以数字方式填写的表格,然后打印并签名或直接通过电子邮件发送。不幸的是,许多人这样做的方式并不广泛兼容。
我经常会遇到这样的 PDF 文件,当没有在 Adobe Reader 中打开时:
这似乎是一种让用户填写表格的根本性错误的方法。但是,我真的想不出一个可行的替代方案,最接近“可行”的方案是使用 Web 表单输出已填写内容的 PDF(但明显的缺点是设置起来要困难得多)。我觉得我在这里忽略了一些显而易见的事情。
你知道有什么好方法可以向用户呈现表单,让他们可以轻松填写并转换为 PDF,而不是只在 Adobe Reader 中工作的损坏 PDF(或只在适当地在 Adobe Reader 中)?
答案1
主要问题是,市面上有许多 PDF 查看器,它们根本无法处理完全属于 ISO 32000 的内容(即表单,甚至使用 JavaScript 的智能)。Web 浏览器的 PDF 查看组件以及 Apple 的 Preview.app 都是罪魁祸首……然后是移动设备上各种各样的 PDF 查看器。
无论如何,PDF(如 ISO 32000 中所述)为表单提供了最佳平台。问题是,到目前为止,还没有真正的测试工具可以帮助确定 PDF 查看器是否真正符合 ISO 32000。而且也没有官方工具可以确定文档是否符合 ISO 32000。在过去,合规性测试是在 Acrobat 中打开文档,如果可以运行,则符合要求,否则不符合要求。
事实上,绝大多数移动设备 PDF 查看器以及带有网络浏览器的 PDF 查看器几乎都无法通过完整的 ISO 32000 兼容性测试。
因此,最佳做法是提供精简版的智能表单,至少允许打印,甚至填写,然后打印。只有当 PDF 查看器支持智能功能(例如正确添加、正确格式化日期等)时,表单的全部潜力才会得到释放。这种方式能做多少取决于表单本身,也取决于应该支持多少蹩脚的 PDF 查看器。
这种情况可能与网页必须进行大量浏览器嗅探才能正确显示的时代相似。
还有其他形式的替代方案。
Web 表单是一种可能,但它们仅限于相当简单的表单;一旦事情变得复杂,它们就会中断。而且它们总是需要稳定可靠的互联网连接。
另一项仍在某些地方流传的技术是 InfoPath,它需要 Microsoft Word 作为填充。此外还有 Microsoft Word 表单;只有极少数公司能够熟练使用 Microsoft Word 来创建可填写的表单……但 Word 仍然需要作为填充。
已经提到了 XFA,但是 XFA 在查看器中受到的限制更多(除非按照最初预期的方式使用,即使用服务器以查看器可用的方式呈现表单。
因此,PDF 是表单最易用的平台;并且(在 Windows 和 OSX 上),Adobe 产品是其他 PDF 查看器必须遵守的标准。这就是当今的现实。市面上还有其他 PDF 查看器,它们可以做很多事情,并且可能足以满足许多应用程序的需求。对于表单开发人员来说,这意味着“了解您的用户”。
答案2
Wyss 先生发布了很好的信息,除了这个愚蠢的内容:“Web 表单……仅限于相当简单的表单……并且它们始终需要稳定可靠的互联网连接。”
如果您在互联网上分发 PDF 表单,您还需要稳定可靠的连接。
在将 PDF 与 Web 表单进行比较时,PDF 的唯一优势是您可以保留打印格式。但是,为什么需要打印存在于数字域中的东西呢?PDF 的问题在于,它在内容和设计之间建立了牢不可破的联系。它无法提供适应显示器的表单字段。PDF 表单创建者假设每个人都在使用大型桌面显示器来显示表单。PDF 无法提供像 HTML/CSS 那样的响应式表单。
大多数 PDF 表单数据都是以重新保存的 PDF 或 FDF 的形式粗略发送的。它不是可以轻松查询的数据库的一部分。Web 表单可以直接提交到数据库。
因此,Web 表单对于任何平台(Windows、OSX、iOS、Android)都是最实用的。这是过去和现在的现实。