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

Kri*_*tof 3 pdf apache-fop acrofields

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

谷歌没有提供太多相关信息,主要是因为它不可能,但大多数信息可以追溯到2000年代早期.

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

lfu*_*ini 6

(披露:我是FOP开发人员,但现在不是很活跃)

XSL-FO的语言,这是FOP的输入语言,没有格式化定义表单域的对象,因此FOP不能从头开始创建AcroForms(你需要制定一个扩展来实现这一点).

但是,正如用户@mkl在评论中所说,PDF图像插件允许在FOP创建的最终PDF中包含现有PDF文件中的页面,就好像它们是图像一样; 根据发行说明,该插件提供"对AcroForms(PDF表单)的有限支持".

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

<fo:block>
    <fo:external-graphic src="my-doc.pdf#page=1"/>
</fo:block>
Run Code Online (Sandbox Code Playgroud)

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

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

<fox:external-document src="my-doc.pdf" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"/>
Run Code Online (Sandbox Code Playgroud)