使用Javascript将PDF表单数据导出到XML

时间:2014-04-01 08:46:35

标签: javascript xml pdf export form-data

我使用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"。

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

亲切的问候

米希尔

2 个答案:

答案 0 :(得分:0)

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

最接近我的想法是出口为XFDF。 XFDF是FDF的XML表示,PDF原生表单数据格式。然后可以轻松地将XFDF转换为您需要的内容。

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

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

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

答案 1 :(得分:0)

呜呜!我找到了!

var url = "mailto:testemail@qoppa.com?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魔术!

{{ 3}}