2013-04-03 235 views
0

我正在使用jasperexportmanager如下所示導出到JSP頁面。如何將JSP頁面保存爲pdf?

jasperPrint=JasperFillManager.fillReport(statReportSummaryJasper, param,jre); 
ServletOutputStream servletOutputStream = res.getOutputStream(); 
res.setContentType("application/PDF"); 
JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream); 

servletOutputStream.flush(); 
servletOutputStream.close(); 

這會在JSP頁面中呈現。當我嘗試下載時,它使我可以選擇保存爲html而不是PDF。如何將其保存爲PDF。

任何幫助或方向將有很大的幫助。謝謝。

+1

這是一個pdf文件嗎?或者它是HTML?這就是爲什麼你只能選擇將其保存爲html – Eugene

+0

嗨尤金,它的呈現爲HTML頁面,如你所說。但是當我們在瀏覽器中打開一個PDF文檔時,我會得到所有可用的選項。像縮放縮小一樣,下載選項...! –

回答

4

@Nagarajan ....

添加以下代碼,並再次嘗試...

response.setHeader("Content-Disposition", "attachment; filename=" 
      + ReportName + ".pdf"); 
+0

嗨Srinivas,感謝您的答覆。在添加代碼時,PDF文件被下載。但是,如果我想在瀏覽器選項卡中將其顯示爲pdf而無需下載,我該如何處理它。 –

+0

@Nagarajan ...歡迎:) – Srinivas

+0

嗨所有/ Srinivas,顯示它在瀏覽器中不保存我只是改變了代碼如下 response.setHeader(「Content-Disposition」,「inline; filename =」 + ReportName +「.pdf」); 它在瀏覽器中打開PDF,用戶可以保存PDF,如果他想。再次感謝你們。目標:完成 –

0

我只是改變了代碼如下response.setHeader( 「內容處置」,「內聯; filename =「+ ReportName +」.pdf「);它在瀏覽器中打開PDF,用戶可以保存PDF,如果他想。再次感謝你們。目標:協調

-1

這是「非程序員」的答案! 我們的銀行在jsp中生成報表,我想將其保存爲pdf(爲了將它們發送給一個人,技術比我更少)。最後,我在瀏覽器(Chrome)中打開了下載的jsp,並將其打印爲pdf。這對我來說是滿意的。

+0

一定要回答這個問題或提供一個可行的替代 –

+0

謝謝,雨果,但是,雖然我的回答與jasperexportmanager無關,但他的問題似乎是如何將他的jsp輸出保存爲pdf,而我沒有看到保存他的輸出和保存我銀行的jsp輸出之間的區別。不過,我仍然有待改正! –