【发布时间】:2015-12-06 13:52:46
【问题描述】:
在 PDFBOX 中,我想插入一些图像作为可以存储在 acroform 中的表单域。 稍后对于用户在特定 PDTextBox 字段中的一些值更改,我想调用 Javascript 函数来显示/隐藏上面的图像字段。还要确认 javascript 中是否支持隐藏/显示图像字段(即,如果我能够为此类图像字段命名,那么我认为这是可能的)。
PDFBOX 1.8.10 中是否有实现此目标的功能? 如果是,请提供参考代码/文档。
感谢您的帮助。
【问题讨论】:
-
我怀疑示例中是否存在类似的内容。我认为最好的办法是使用 Adobe Acrobat(可能是试用版)创建这样的文件,然后使用 PDFBox 中可用的方法通过使用 PDFDebugger 查看文件(最好是 2.0 版本,这很更好的)。恐怕不容易。
-
@TilmanHausherr,我已经检查了 Adobe Acrobat 以创建这样的图像字段,但没有这样的选项。我们不能有任何称为图像字段的控件类型,图像直接添加到 PDF 中,但不能作为 acroform 的一部分包含。
-
@TilmanHausherr,我发现 PDSignatureField 是一种可以以字段形式嵌入图像的字段。是否可以在 PDSignatureField 类的帮助下创建这样的自定义 PDField 类,即通过查看其源代码并创建扩展 PDField 的自定义图像字段类。这是可行的选择吗?我怀疑创建这样的自定义字段会对我们有所帮助,因为在 PDFBox 中只有四种字段类型 - 文本、复选框、按钮和签名。对于其他类型,PDFBox 可能未设置 COSDictionary 对象或可能引发异常。如果您有任何想法,请告诉我。
-
理论上,普通字段应该是可以的,因为“外观流”(即“你所看到的”)是“Form XObjects”,它们有一个内容流和资源,就像一个PDF 页面。但我从来没有测试过这个。问题是这将是几个小时,也许是几天的工作(和痛苦)来创造这一切,所以我没有帮助:-(你的第二句话:我的想法是关于普通领域。视觉签名是一个更加复杂的混乱:-(
-
让事情变得更加混乱:术语“Form XObjects”与 Acroform 无关。这些只是内容流(= PDF 运算符及其参数的序列),其资源可以从页面内容流中调用,或用作外观流。
标签: javascript java pdf-generation pdfbox