0

我有一个 PDF 表单,它使用 Perl 编写的 CGI 脚本将信息提交到 Apache 服务器:

var doc = event.target;

var x = doc.submitForm({
        cURL: "http:",
        cSubmitAs: "XML" 
        }); 

CGI 能够读取信息并将其保存在文件中,但我想重新提交x对 PDF 中变量的引用代码,然后让 PDF 在框中显示它。我在 CGI 脚本中使用它:

print "Content-type: text/html\n\n";
print "$i";

但它正在打开一个显示变量内容的新 PDF $i

我不知道问题是否在于以另一种方式指定读取变量的 PDF 代码,或者是否是 CGI 脚本以错误的方式发送值。你可以解释吗?

4

1 回答 1

1

PDF 中的表单提交就像 HTML 中的表单提交一样工作。您向服务器发送请求,服务器以新页面回答,在您的情况下,PDF 格式的原始页面被“text/html”类型的新页面替换(这很奇怪,因为您没有打算将 HTML 发送到浏览器)。

似乎您不想提交表单,但您想提交数据并在同一页面中获得响应。这在 HTML 中是可能的,但在 PDF 中很难实现。我写了一本关于 PDF 的书,这是一个或多或少符合您要求的摘录:http: //bit.ly/gl1Urw

在这个例子中,我在 PDF 中嵌入了 JavaScript,它能够通过嵌入 PDF 的 HTML 页面中的 JavaScript 发送消息(反之亦然)。这样,您不会将数据从 PDF 提交到服务器,而是将其传递到 HTML 页面。在 HTML 中,您可以设置与服务器的通信,并将响应发送到 PDF。

如果这不是您的选择(例如,因为您无法更改提交数据的 PDF),则不应使用“text/html”内容进行响应。相反,您应该使用与原始表单相同的新 PDF 文件进行响应,但您在服务器端填写的某些字段除外。

更新:您的问题是基于错误的假设,您可能需要对其进行编辑。

于 2012-09-23T08:16:39.103 回答