问题标签 [xdp-pdf]

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.

0 投票
0 回答
77 浏览

python - 如何将 XDP 文件与 XFA PDF 合并(通过 Python)?

正如标题所示,我想将 XDP 文件与符合 XFA 的 PDF 文件合并,最好通过 Python 3.8(在基于 Windows 10 x64 Intel 的机器上),尽管 C++17 是可以接受的。如果使用模块,我还希望该模块通过 MIT 或 Apache(或等效的商业)许可证注册。

我尝试过的一些事情:

通过win32com.client在 Windows 上,有一个名为 的注册表AcroExch.XDPDoc,但我找不到任何文档。这是我使用的代码:

由于我使用的是 Adob​​e Acrobat DC 的免费版本,因此AcroExch.App注册表编辑器中没有适合我的功能。

像打开常规 PDF 文件一样打开它也会返回False

另一种方法是在Internet Explorer中打开它,通过PyAutoGUI单击“是”,然后键入Ctrl-Shift-S并按Enter键保存它,但这很粗略,如果焦点在另一个文档上,它就不起作用了。

感谢帮助!

0 投票
0 回答
124 浏览

python - 如何用 iText 填写 XFA 表单:不是修改数据集,而是修改 XDP 中的其他数据组

我有一个 XFA 表单,我想用 Python 或 C# 或两者自动填写。

如果表单数据像通常的 XFA pdf 那样位于数据集中,那将很容易,但事实并非如此。以下是数据集中一些数据的示例:

它指向位于文件 XDP 中位置 15 的另一个数据组。使用 python,我可以轻松访问 XDP,这是它的配置:

我在“表单”流中找到了所有表单数据,这是其中的一部分:

所以真正的问题是:

我如何使用 iText7 在 XDP PdfObject 的第 15 位获取此“表单”流,对其进行修改以将其放回 XDP 并将 XDP 放回 pdf 中?要复制我正在尝试做的事情,可以尝试从 XDP 中获取除数据集以外的任何其他元素,修改与否,然后将其放回 pdf 中。我没能。

我试过了; Pypdf2 PDFNet(python 和 C#)、iText7..

我很绝望,我已经尝试了几个星期没有解决方案。我显然不能使用 iText FillXfaForm 方法,因为它修改了数据集,我想修改表单。