透明图像在 xfa.fillXfaForm 后显示为黑框。 xfa 填充是否支持透明图像?

Transparent images are showing up as black boxes after xfa.fillXfaForm. Are transparent images supported for the xfa fill?

这是当前的问题: 我有一个由第 3 方创建的 XFA 表单,我想按原样使用它。 我能够通过以下方式生成带有填充字段的 PDF:

a) Extracting the XML via Acrobat Pro
b) filling the fields within the XML and calling 
            XfaForm xfa = form.getXfa();
            xfa.fillXfaForm(new FileInputStream(XML));

我想做的只是在第 2 页上标记一个 image/watermark,其中有一个表单 w/multiple 字段。我正在标记的 "DRAFT" png 图像具有透明背景,因此如果覆盖有效,图像背景应该使底衬出现并且看起来像图像文本位于 pdf 页面的顶部。

如果这不是一个 XFA 表单,我想要完成的事情将是微不足道的。我只会使用 iText 的 pdfStamper 并在第二页上标记这个透明的 PNG,但由于我现在只能使用 Adob​​e LiveCycle Designer,我注意到在非 XFA 文档中这个曾经微不足道的任务在 XFA 中并不是那么微不足道。 从之前的帖子中,我了解到我不能将技术混合在一起。我不得不在非 XFA (AcroForms) 和 XFA(由 Adob​​e LiveCycle Designer 构建)之间做出选择。基本上,我不能做一个 fillXFA 然后使用压模,所以我必须弄清楚如何使用 XFA 来做到这一点。

我已尝试将以下步骤作为静态 PDF 和动态 PDF...PDF 的类型没有区别。

1) 在 Adob​​e LiveCycle Designer 中,我转到源 PDF 的第二页并定义了 2 个图像字段。

  overlay1 - this will span the top portion width of the page which has text 
             content underneath
  overlay2 - this will span the lower portion width of the page which has text 
             content underneath

2) 作为测试...我为 overlay1 选择了一个具有透明背景的图像,它是 前景背景为 DRAFT 在设计时......DRAFT 透明图像有效并且正确放置在内容之上 对于 imageField:overlay1。 我保存修改后的基于 XFA 的 PDF,在 Acrobat Pro 中打开它,并导出 XFA XML 结构。 我验证了 overlay1 将 DRAFT 图像作为 base64 编码字符串。

<overlay1 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:contentType="image/png"
>iVBORw0KGgoAAAANSUhEUgAACWAAAAJYCAYAAADmY91UAAAACXBIWXMAAC4jAAAuIwF4pT92AABH
.......
.......

3) 当我采用相同的 base 64 字符串并且只在 overlay2 中输入它的内容并通过 fillXFA 方法渲染它时......图像变成了一个黑框。 我也在Acrobat Pro中打开文件,然后双击imageField区域,选择透明图像,它仍然显示为黑框。 我用图像 w/no 透明度重复了上一步,它是矩形白色背景 覆盖了它下面的所有内容。

4) 我继续制作了另一张图片……一张没有任何透明度的图片。 没有透明度的 DRAFT,它的背景是白色的。 我把它编码成 base64 格式。 我能够毫无问题地将它放置在 overlay1 和 overlay2 图像字段中。 新的问题是 DRAFT 图像的白色背景覆盖了它后面的所有内容。

为什么初始透明 png 在 Adob​​e LifeCycle Design(设计时)和之后工作 一个 fillXFA 调用它显示为一个黑框?但是,如果我将图像更改为不使用透明度 全部...一切正常吗?

在 xfa 填充期间,XFA 不支持图像字段的透明图像吗?请记住,它在 设计时,我告诉 Adob​​e LiveCycle 设计器为此字段使用此透明 png。

我基本上是在尝试在 XFA pdf 中的特定页面上创建 2 个图像水印。

我目前的备份计划是展平 PDF(取消 XFA)并使用 Acrobat Pro 将所有字段放回表单并使用标准 PDF itext 调用和压模填充它(这将很乏味,因为有很多字段)。但我想知道在我查看选项 B 之前是否有人必须做同样的 w/an XFA PDF 表格。

所以我用GIF透明图片替换了同样的PNG透明图片。以 base64 编码的 GIF 图像有效。我可以创建一个新的 GIF 文件 w/transparency,用 base64 对其进行编码,然后替换之前的文件,它仍然有效。看起来像是 XFA 表单中 PNG 渲染的错误