使用 Apache FOP 添加 PDF 可填写表单 (acrofield)

Adding a PDF fillable form (acrofield) using Apache FOP

我正在尝试向我使用 Apache FOP 生成的 PDF 添加一个可填写的表单(以便最终用户可以使用 acrobat reader 将信息插入其中然后保存)。如果可能的话,我似乎找不到有关如何完成此操作的任何信息。

Google 没有提供太多相关信息,主要是因为这是不可能的,但大部分信息都可以追溯到 2000 年代初期。

有没有办法使用 FOP 添加 acrofields?

(披露:我是一名 FOP 开发人员,虽然现在不是很活跃)

XSL-FO language, which is FOP's input language, does not have formatting objects defining form fields, so FOP cannot create AcroForms from scratch (you would need to develop an extension实现那个)。

但是,由于用户 @mkl told in a comment, the PDF images plugin 允许将现有 PDF 文件中的页面包含在 FOP 创建的最终 PDF 中,就好像它们是图像一样;根据发行说明,该插件提供 "limited support for AcroForms (PDF forms)".

所以,如果您已经有 PDF 表单,您可以像普通图像一样使用它:

<fo:block>
    <fo:external-graphic src="my-doc.pdf#page=1"/>
</fo:block>

或在 fo:page-sequence 级别插入带有扩展元素的所有页面:

<fo:page-sequence>
    <!-- ... -->
</fo:page-sequence>

<fox:external-document src="my-doc.pdf" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"/>