使用Java脚本将PDF表单数据导出到XML

问题描述 投票:0回答:2

我使用InDesign制作了一个交互式PDF,其中包含一些文本字段和一个按钮。当按下此按钮时,我希望它从文本字段中提取值并将它们放入XML文件中。因此,此按钮需要执行的操作是使用文件扩展名* .xml调用操作“导出表单数据”。我以为可以使用javascript(在按钮属性的“动作”标签中)完成此操作,但我似乎找不到它。

我有Adobe acrobat Pro 10,并且在Mac上工作。

我已经尝试过以下代码:

this.saveAs("../Test.xml" , "com.adobe.acrobat.xml-1-00");

var name = getField("name").value;
var jobId = getField("jobId ").value;
var fieldsToSubmit = ['name', 'jobId'];

this.submitForm
({
               aFields: fieldsToSubmit,
               cSubmitAs: 'XML',
               cPath: "../"
});

如果我使用cURL而不是定义了电子邮件地址的cPath,则这最后一个有效。但这不是我真正需要的。 XML文件应提交到本地存储,例如“ /users/MyDocuments/Folder/filename.xml”。

有人可以告诉我我做错了什么吗?还是这不可能?

亲切的问候

米歇尔

javascript xml pdf export form-data
2个回答
0
投票

由于要将导出的数据文件写入文件系统(而不是提交给服务),submitForm()确实不适合。

我最近想到的是将其导出为XFDF。 XFDF是FDF(PDF本机表单数据格式)的XML表示形式。然后,XFDF可以轻松转换为您所需的内容。

另一种方法是创建XML文件内容并将其写入数据对象,然后可以将其导出。

后者将立即获得可用的结果,但是将需要更多的编程。

对于这两种方法,强烈建议查阅Acrobat JavaScript文档,该文档是Acrobat SDK的一部分,可从Adobe网站下载。


0
投票

呜呜!我找到了!

var url = "mailto:[email protected]?subject=My Subject&body=Here is my form data.";
this.submitForm({cURL: url, cSubmitAs: "XFDF"})

我修改了为“ XFDF”提供的解决方案:

https://kbpdfstudio.qoppa.com/send-email-with-pdf-form-data-using-javascript-submitform/

[我所做的只是将“ XDFL”换成“ XML”。JavaScript魔术!

© www.soinside.com 2019 - 2024. All rights reserved.