将 PDF 表单提交到 PHP 脚本仅适用于 Adobe Reader XI
Submitted a PDF form to a PHP script only works in Adobe Reader XI
我有一个 PDF 表单,我想提交给远程 php 脚本。我以为我让它工作了,但它似乎只在 Adobe Reader XI 中查看表单时才工作。提交按钮在 Adobe Reader 10 或 Mac 上的预览器中似乎没有任何作用。这是 javascript 我让按钮在单击时执行。它提交整个 PDF 并传递电子邮件地址和名称以根据 php 脚本与之通信的数据库中的记录进行验证。
var email = getField("Your email").valueAsString;
var name = getField("Your name").valueAsString; // get name field
name = name.replace(/(^[\s]+|[\s]+$)/g, ''); // trim spaces
name = name.replace("'", "\'"); // change O'Neil to O\'Neil
name = "'"+name+"'";
email = email.replace(/(^[\s]+|[\s]+$)/g, '');
console.println("Your Plan is Being sent");
this.submitForm({
cURL: "http://example.com/thescript.php?name="+name+"&email="+email,
cSubmitAs: "PDF"});
这里是否有某些语法与某些 pdf 阅读器不兼容?任何建议将不胜感激。
几个方面:
• 该脚本到目前为止还不错,因为它在 Reader XI 中有效(它也应该在 Acrobat 中有效)。
• cSubmitAs: "PDF" 要求保存填写的表格。这仅在 Reader XI 中不受限制是可能的;在早期版本中,您必须为表单分配扩展权限,以使其可保存。
• 您可以在Reader X 中激活控制台,以查看是否确实存在错误消息。
• 忘记 Preview.app!!! Preview.app 不支持 (Acrobat) JavaScript,因此脚本会被忽略。但更糟糕的是,在保存填写的表格时,Preview.app 以一种不再可用的方式弄乱了文档。如果您的用户更有可能使用 Preview.app,您必须通过默认使其不可填写来保护表单,并使用文档级脚本使其可填写。事实上,如果您的表单也将用于 iDevices 等,那可能是必要的。
除了提到的问题之外,可能需要在 cURL 中对特殊字符进行编码。
我有一个 PDF 表单,我想提交给远程 php 脚本。我以为我让它工作了,但它似乎只在 Adobe Reader XI 中查看表单时才工作。提交按钮在 Adobe Reader 10 或 Mac 上的预览器中似乎没有任何作用。这是 javascript 我让按钮在单击时执行。它提交整个 PDF 并传递电子邮件地址和名称以根据 php 脚本与之通信的数据库中的记录进行验证。
var email = getField("Your email").valueAsString;
var name = getField("Your name").valueAsString; // get name field
name = name.replace(/(^[\s]+|[\s]+$)/g, ''); // trim spaces
name = name.replace("'", "\'"); // change O'Neil to O\'Neil
name = "'"+name+"'";
email = email.replace(/(^[\s]+|[\s]+$)/g, '');
console.println("Your Plan is Being sent");
this.submitForm({
cURL: "http://example.com/thescript.php?name="+name+"&email="+email,
cSubmitAs: "PDF"});
这里是否有某些语法与某些 pdf 阅读器不兼容?任何建议将不胜感激。
几个方面:
• 该脚本到目前为止还不错,因为它在 Reader XI 中有效(它也应该在 Acrobat 中有效)。
• cSubmitAs: "PDF" 要求保存填写的表格。这仅在 Reader XI 中不受限制是可能的;在早期版本中,您必须为表单分配扩展权限,以使其可保存。
• 您可以在Reader X 中激活控制台,以查看是否确实存在错误消息。
• 忘记 Preview.app!!! Preview.app 不支持 (Acrobat) JavaScript,因此脚本会被忽略。但更糟糕的是,在保存填写的表格时,Preview.app 以一种不再可用的方式弄乱了文档。如果您的用户更有可能使用 Preview.app,您必须通过默认使其不可填写来保护表单,并使用文档级脚本使其可填写。事实上,如果您的表单也将用于 iDevices 等,那可能是必要的。
除了提到的问题之外,可能需要在 cURL 中对特殊字符进行编码。