以PDF格式显示服务器答案

时间:2012-09-22 17:25:36

标签: forms perl pdf cgi

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

var doc = event.target;

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

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

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

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

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

1 个答案:

答案 0 :(得分: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文件,除了你在服务器端填写的一些字段。

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