使用Java保存动态生成的PDF

时间:2015-11-30 21:29:22

标签: java pdf

我有一个URL,导致Web服务器在打开时生成PDF。是否可以使用Java将此PDF文档保存到磁盘(客户端)?当PDF已经作为Web服务器上的文档存在时,我发现了许多这样的示例,但是这些示例的代码似乎在Web服务器开始创建内容之前不起作用。链接打开(至少这是我此时的印象)。

我可以点击链接来制作PDF。该链接的HREF是:

<a href="javascript:open_window('ReportDisplay.cfmincidentID=223189&amp;cs=377041B‌​A2467C3CEA7FD989A12126E0E&amp;services=2815&amp;format=1&amp;UniqueID=651F76E4E56‌​91207B9B2AF1F51A780AA')">
    <img src="../../Images/pdf-small.gif" alt="Report" border="0" height="15" width="15">
</a>

我构建了一个完整的URL,包括协议等,我可以将完整的URL粘贴到浏览器的位置栏中。实际上这确实在当前窗口中生成PDF。所以,这就是我试图捕获到本地磁盘上的文件。

1 个答案:

答案 0 :(得分:0)

您目前正在提供PDF 内嵌,而您希望将其更改为附件。请参阅问题Content-Disposition:What are the differences between "inline" and "attachment"?的答案,了解其中的区别。

如果您使用Content-Disposition标题“内联”,则PDF将显示在浏览器窗口中。如果您使用Content-Disposition标题“附件”,将打开一个对话框,询问最终用户他想要保存PDF的位置。

您无法在最终用户的计算机上“自动”保存PDF,因为您不了解最终用户的操作系统和磁盘组织。如果他在Windows上,路径C:/temp可能会存在,但如果他在Mac或Linux机器上,那么该路径将不存在。这就是为什么你总是需要在客户端使用“另存为”对话框。