【发布时间】:2015-01-23 16:18:07
【问题描述】:
我使用带有表单字段的 iText 和一个将数据作为 FDF 发布的提交按钮生成了一个 PDF。由于需要提交的数据量很大,我决定使用 POST 而不是 GET。我希望客户在独立的 Acrobat Reader 应用程序中打开此 PDF。在 servlet 中,我可以读取流数据。我现在的问题是,如何在网页上显示流数据?
我搜索了 SO,看起来这里问了一个类似的问题: Sending 'success' response back to Acrobat Reader from java servlet
阅读 Bruno 的回答,看来我唯一的选择是 #2,但不确定如何将表单的数据流式传输到服务器,然后返回要显示的网页。
感谢您的任何帮助、意见或建议!
【问题讨论】:
-
我认为你做不到。您甚至无法知道用户是否打开了浏览器。您会将响应流式传输到哪里?大多数浏览器只显示对他们自己提出的请求的响应。您必须让 PDF 打开浏览器,然后告诉浏览器向您的服务器发出请求,以便您可以回复您的内容。
-
您的问题不清楚。您说您不确定如何将表单数据流式传输到服务器,但是……您已经解决了这部分问题:您将数据作为 FDF 发布到服务器。在服务器上,您使用 FDF 做两件事:(1)您存储它,因为数据收集是您首先要求用户填写表单的原因,(2)您将数据与原始表单合并,然后您通过响应对象将该表单发送回客户端。知道了这一点,还有什么问题?
-
非常感谢 Joao 的见解。布鲁诺,抱歉不清楚。是的,我已将数据发布到服务器。我的问题更多是关于向客户发送回复。我想要实现的是; 1) 用户向服务器提交带有数据的表单,2) 服务器处理数据,3) 发回响应,然后将处理后的数据显示在网页上。我已完成第 1 步和第 2 步,但不确定如何进行第 3 步。
-
如果您希望最终用户能够在独立的 Adobe Reader 中打开文件,那么 (1) 您应该返回 PDF 文件,并且 (2) 强制在外部打开文件通过更改内容处置。这个问题之前已经回答过很多次了。