PDF 文件上的 XFA 表格

XFA forms on PDF file

我需要填写几个包含 XFA 文件的 PDF 表单,然后打印它们。我只能从 Linux 机器上打印它们。它安装了 Acroread,但除了已经过时之外还不能正常工作。

我能做的就是在我的 Macbook 上填写它们。所以我的问题是:一旦我填写了它们,我能否以某种方式将它们导出到 Linux 中的查看器(如 Okular、Evince 等)可以打开和打印的 "regular" pdf 文件?那太好了,因为我只需将它们通过电子邮件发送给自己并从 Linux 计算机打印出来。

谢谢!

Macbook和Linux机器可以联网吗?如果是这样,请尝试共享打印机,并在 Macbook(或 Adob​​e Reader XI)上使用 Acrobat Reader DC 填写并打印表格。

另一种可能性是设置 PostScript 打印机(驱动程序)并使用它的帮助创建一个 PostScript 文件,然后您可以将该文件传输到 Linux 机器并发送到打印机(可能使用 Ghostscript 作为中介)。

关键是您需要 Acrobat/Reader 填写表格,特别是如果它是动态 XFA。

您描述的问题是标题为 "Who's afraid of XFA?" video/slide deck 的谈话的主题。

Max Wyss 发布的解决方案(使用 Acrobat Reader DC 填写并打印表格)如果您只能处理有限数量的文档 semi-automatically,那当然是可行的。如果您想要一个完全自动化的过程,这通常不是一个可行的解决方案。例如,如果需要在 Web 应用程序的上下文中填写表单,并且人们需要在浏览器中获取 PDF 作为对 Linux 服务器请求的响应,则您不会使用 Macbook作为服务员,你愿意吗?

在那种情况下,您需要一个将 XML 注入 PDF 的库(参见 How to fill out a pdf file programmatically?) and then "flatten" it to an ordinary PDF (How to flatten a XFA PDF Form using iTextSharp?)。这种方法的问题是你需要一个软件库或工具来实现这个,除了Adobe LiveCycle和iText的XFA Worker,我不知道有什么工具可以将XFA扁平化为普通PDF。

使用 PostScript driver 打印动态 XFA 表单将不起作用,因为除了 Adob​​e 和 iText 软件外,软件世界对 XFA 的支持非常少(并且 XFA 在 PDF 中已被弃用2.0).