如何为 iText 生成的 PDF 显示“另存为”对话框?

发布于 2024-11-06 12:53:44 字数 75 浏览 0 评论 0原文

当我发送 iText 在 servlet 中生成的 PDF 文件时,我想显示一个另存为对话框。我怎样才能实现这个目标?

I want to show a Save As dialog when I send the PDF file which is generated by iText in a servlet. How can I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

锦爱 2024-11-13 12:53:44

您需要让 servlet 将 Content-Disposition 标头设置为 attachment

response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");

这将强制出现“另存为”对话框,最终用户可以在其中选择位置。

请记住,最终用户可能已更改其浏览器设置以对 PDF 文件执行默认操作,例如始终在阅读器中显示它或始终将其保存在一些固定的地点。例如,在 Firefox 中,您可以通过“工具”>“工具”来控制它。选项>应用程序。不,您无法从服务器端更改此浏览器特定行为。

You need to let the servlet set the Content-Disposition header to attachment.

response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");

This will force a Save As dialogue where the enduser can choose the location.

Please keep in mind that the enduser might have changed its browser settings to take a default action on PDF files, for example to always show it in Reader or to always save it in some fixed location. In for example Firefox you can control this by Tools > Options > Applications. No, you cannot change this browser specific behaviour from the server side on.

著墨染雨君画夕 2024-11-13 12:53:44

好吧,我解决了我的问题!我在此页面上找到:
http://www.geek-tutorials.com/java/itext/servlet_jsp_output_pdf.php

方法是直接用 getOutputStream() 写入(不在文件路径中)并发送内容类型头!

response.setContentType("application/pdf");
Document document = new Document();
try{
    PdfWriter.getInstance(document, 
    response.getOutputStream());
    //pdf generate code

原来如此简单...

Ok I solved my problem!! I found on this page :
http://www.geek-tutorials.com/java/itext/servlet_jsp_output_pdf.php

The method is to write directly with getOutputStream() (not in file path) and send content type header!

response.setContentType("application/pdf");
Document document = new Document();
try{
    PdfWriter.getInstance(document, 
    response.getOutputStream());
    //pdf generate code

It was so simple...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文