簡體   English   中英

如何從Java Web應用程序將PDF發送到瀏覽器?

[英]How to send a PDF to the browser from a Java webapplication?

我有一個Java類,可將PDF文件生成到計算機中的文件夾。 我設法將此類連接到Web應用程序上的鏈接,當我單擊此鏈接時,它將生成pdf並將其寫入我的計算機上的文件夾中。 我想更改此設置,並將鏈接發送pdf到瀏覽器。 我怎樣才能做到這一點? 該類不使用任何HttpRequest或類似請求,並且該鏈接不是超文本鏈接atm。 我正在尋找最直接的方式將pdf發送到瀏覽器。

/* Java Code */
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=path/to/file.pdf");

我將它(任何類型的文件)從servlet內的字節數組打印到響應流

 if(content != null)
                {
                    response.setContentType( "application/octet-stream" );
                                            response.setHeader("Content-Disposition", "attachment; filename=\"" + fname + "\"");
                response.setContentLength(content.length);
                out.write(content);
            }//where content  is byte[] 

您應該能夠將pdf寫入流,您可以將響應中的輸出流傳遞給它。

有幾種方法可以做到這一點:

  1. 將PDF文件放在Web上可用的某個位置,然后將用戶重定向到URL,這會將他引導到PDF文件(如果您的Web服務器支持)。 使用“位置” HTTP標頭可以輕松完成重定向。

  2. 在HTTP響應流中發送PDF文件。 請注意,您將必須在HTTP標頭中設置相應的Mime類型。 實現取決於您在應用程序中使用的Web服務器/ Web框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM