问题标签 [xfa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pdf - 如何使用 iTextSharp 展平 XFA PDF 表单?
我假设我需要展平 XFA 表单才能在使用 Nuance 的 CSDK 的应用程序的 UI 上正确显示。当我现在处理它时,我收到一条通用消息“请稍候......如果最终没有替换此消息......”。
寻找一些示例 iTextSharp 代码来执行此操作。
java - 在 XFAFlatener 中使用 FieldPosition 投射异常
尝试使用 XFA Worker 的试用版进行概念验证。当我尝试转换我构建的 XFA 文档时,出现 java.lang.ClassCastException: com.itextpdf.tool.xml.xtra.xfa.positioner.FieldPositioner cannot be cast to java.lang.String 错误发生在 com.调用itextpdf.tool.xml.xtra.xfa.XFAFlatener.flatten 方法?关于问题可能是什么的任何想法都会有所帮助。
c# - iTextSharp 需要动态重复带有文本字段的表格行
我正在使用 iTextSharp 阅读并填写动态 pdf 模板(每个单元格中都有带有文本字段的动态表格)[假设我将从源代码获取单个产品信息]:
模板文件:
XFA XML 是:
但在某些情况下,我会从源头获取多个产品信息。因此,我需要动态重复行以填写“SourceTemplateFile.pdf”中的表格
多行填充代码:
所以,我的问题是如何在给定的 pdf 寺庙中动态重复行?如果我会从源获得 3 个产品信息,那么应该有 3 行可供填写。或者 iTextSharp 是否支持动态 pdf 表单填充?
xml - 如何以 XFA 形式计算校验和
当您使用 Adobe 软件保存 XFA 表单(XFA = XML Forms Architecture)时,会在表单元素中添加一个校验和属性。这个校验和似乎是一个 SHA-1 摘要,但不清楚实际输入哈希的内容。有谁知道这是如何产生的?Adobe Acrobat 需要此值来验证表单的 XML 数据中实际包含的内容,但是当我创建提供给表单的 XML 哈希时,Adobe Acrobat 不接受它。XFA 规范中没有记录此校验和属性,所以如果有人可以的话,我将非常感激:
- 确认该值实际上是使用 SHA-1 散列算法创建的散列?
- 解释应该使用哪些数据来创建这个散列。
pdf - 创建 XFA 表单并将其嵌入到常规 PDF
我有一个不包含 XFA 数据的 PDF。我想要做的是,以编程方式(而不是使用 Adobe LiveCycle 或类似程序)创建一个 XFA 表单模板,然后将其嵌入到 PDF 中,然后填写 XFA 表单。
这可能吗?还是我必须使用 Adobe LiveCycle?
编辑
http://en.wikipedia.org/wiki/XFA#Profiles在这个 wiki 链接中它说如下:
XFAF (XFA Foreground) 子集- (在 XFA 2.5 中引入) - XFA 表单的每一页都覆盖 PDF 背景的表单。它只能用于静态 XFA 表单。此架构仅使用 XFA 的一个子集。它可以打包在常规 PDF 文档中,也可以打包为带有嵌入式 PDF 的独立 XDP 文件。在 XFAF 中,每个 XFA 字段对应一个 PDF 交互字段(AcroForm 字段)。
所以我相信,我问的是可能的,但目前我不知道如何......
pdf - 是否可以创建不可见的 XFA 表单?
我想用 XFA 数据创建 PDF,但我不希望 XFA 数据在查看 PDF 时可见,但是,我希望它可以通过以下代码访问:
我怎样才能做到这一点?
谢谢
adobe - 如何使用 Adobe LiveCycle API 创建带有固定页面的交互式表单?
当我尝试使用Adobe LiveCycle ES4 Designer打开常规 PDF(不包含XFA 表单)时,它会提示一个窗口(新表单助手)并要求我选择如何使用 PDF。选项包括:
- 创建具有固定页面的交互式表单
- 创建具有可流动布局的交互式表单
我选择第一个并继续。然后,什么都不做,我保存文件(使用另存为)。另存为类型为“ Acrobat (Static) PDF Form ( .pdf)*”,事实上,这是此方案的唯一选择。保存文件后,我发现虽然这两个文件在 PDF 阅读器中外观相同,但保存的文件和原始文件不同,因此保存的文件包含 XFA 表单。就我而言,XFA 表格如下:
我对此有两个问题。
- 我可以使用 API 打开常规 PDF 并向其中添加 XFA 表单而不损坏原始 PDF 内容吗?
- 如果第一个是可能的,我可以再次使用 API 向该 PDF添加不可见字段吗?
简而言之,我想要做的是将填充的 XFA 表单添加到常规 PDF 中,我问是否可以使用 API?
forms - 将 XFA 表单导入 AEM,更改事件处理程序不会触发
我有一个 XFA 表单(在 Adobe Designer ES4 中创作),在字段上定义了一个更改事件处理程序。当表单呈现为 PDF 并在 Reader 中打开时,更改事件处理程序工作正常。
但是,将 XFA 导入 AEM 表单 (Adobe Experience Manager Forms) 时,将字段添加到 AEM 表单是可行的,但更改事件不会在应有的情况下触发。我在下拉列表中有一个更改侦听器设置。我尝试了任何更改时弹出 javascript 的简单案例,但没有运气。(弹出窗口在 AEM 中确实有效)
如果有人可以重现错误并提供解决方案,则提供赏金。它可能需要在 AEM 中进行一些自定义。
谢谢
java - 添加 PDFStamper 覆盖会导致 XFA 预填充字段消失
我正在使用的SRC_PDF
之前是由使用以下代码的先前方法填充的:
现在我想在填充文档的第二页上创建一个图像叠加层。通过使用PDFStamper
(即使使用附加),我现在丢失了所有填充的字段,但确实在第 2 页上获得了图像叠加。有人想出如何在预填充的图像上叠加XFA PDF form?
运行pdfStamper
覆盖后,我丢失了之前调用的填充字段:xfa.fillXfaForm(new FileInputStream(XML));
当 PDF 表单有时,是否有特定的方法可以将图像放置在特定页面上XFA fields
?
java - 透明图像在 xfa.fillXfaForm 之后显示为黑框。xfa 填充是否支持透明图像?
这是当前的问题:我有一个由第 3 方创建的 XFA 表单,我想按原样使用它。我能够通过以下方式生成带有填充字段的 PDF:
我想要做的只是在第二页上盖上一个图像/水印,它有一个带有多个字段的表单。我正在盖印的“草稿”png 图像具有透明背景,因此如果叠加层有效,图像背景应该使底层出现,并且看起来图像文本位于 pdf 页面的顶部。
如果这不是 XFA 表单,我想要完成的工作将是微不足道的。我只会使用 iText 的 pdfStamper 并在第二页上标记这个透明的 PNG,但由于我现在仅限于使用 Adobe LiveCycle Designer,我注意到在非 XFA 文档中这个曾经微不足道的任务在 XFA 中并不是那么微不足道。从之前的一篇文章中,我了解到我无法将技术混合在一起。我不得不在 nonXFA (AcroForms) 和 XFA(由 Adobe LiveCycle Designer 构建)之间做出选择。基本上,我无法在使用压模后进行 fillXFA,因此我必须弄清楚如何使用 XFA 来做到这一点。
我已经尝试了以下步骤作为静态 PDF 和动态 PDF ....PDF 的类型没有区别。
1) 在 Adobe LiveCycle Designer 中,我转到源 PDF 的第二页并定义了 2 个图像字段。
2) 作为测试...我为 overlay1 选择了一个具有透明背景的图像,并且它的前景背景为 DRAFT 在设计时... DRAFT 透明度图像有效,并且它正确地放置在 imageField 的内容之上:覆盖1。我保存了修改后的基于 XFA 的 PDF,在 Acrobat Pro 中打开它,然后导出了 XFA XML 结构。我验证了 overlay1 将 DRAFT 图像作为 base64 编码字符串。
3) 当我采用相同的 base 64 字符串并且只在 overlay2 中输入它的内容并通过 fillXFA 方法渲染它时……图像是一个黑框。我也在Acrobat Pro中打开文件,然后双击imageField区域,选择透明图像,它仍然显示为一个黑框。我用一个没有透明度的图像重复了上一步,它的矩形白色背景覆盖了它下面的所有东西。
4) 我继续制作了另一张图像……没有任何透明度的图像。没有透明度的草稿,它的背景是白色的。我把它编码成base64格式。我能够将它放置在 overlay1 和 overlay2 图像字段中而没有任何问题。新问题是 DRAFT 图像的白色背景覆盖了它背后的一切。
为什么最初的透明 png 在 Adobe LifeCycle 设计(设计时)期间起作用,并且在调用 fillXFA 之后它显示为黑框?但是,如果我将图像更改为根本不使用透明度……一切正常吗?
在 xfa 填充期间,XFA 是否不支持图像字段的透明图像?请记住,当我告诉 Adobe LiveCycle 设计师将此透明 png 用于该字段时,它在设计期间起作用。
我基本上是在尝试在 XFA pdf 中的特定页面上创建 2 个图像水印。
我目前的备份计划是展平 PDF(取下 XFA)并使用 Acrobat Pro 将所有字段放回表单上,并使用标准 PDF itext 调用和使用压模填充它(这将是乏味的,因为有一堆字段)。但我想知道在我查看选项 B 之前是否有人必须使用 XFA PDF 表单做同样的事情。