簡體   English   中英

如何將JavaScript生成的報告導出為pdf?

[英]How to export javascript generated report to pdf?

我為我的項目制作了一個使用javascript的報告引擎...問題出在打印中。盡管使用分頁符和CSS可以生成美觀的報告,但我希望將該報告導出為pdf以便更好地打印沒有,URL,頁面標題和瀏覽器添加的其他內容。 注意在Chrome中沒有頁面設置!!!

我在服務器端使用Java。

我想通過ajax發送報告的HTML並返回pdf報告的網址,也許...我正在為此尋找一個好的工具,謝謝

如果您確實將數據發送到服務器端,則iText是一個很棒的免費開放源代碼庫,可以從Java生成PDF。

我要做的是在將響應的內容類型設置為application/pdf並將Content-Disposition標頭設置為任一attachment; filename=foo.pdf之后,直接向響應流生成報告attachment; filename=foo.pdf attachment; filename=foo.pdf (如果我想向瀏覽器提示它應該提供下載)或inline; filename=foo.pdf inline; filename=foo.pdf如果我想提示瀏覽器以在瀏覽器的UI中顯示它。

對於您正在做的事情,也許您想寫一個服務器端文件,以防有人請求使用相同參數的另一份報告副本,如果不是這樣,那么直接寫到Servlet的OutputStream就是您的最佳選擇。

(注意:我必須承認實際上並沒有使用過iText的Java版本,但這僅僅是因為我還不需要從Java生成PDF。我正在使用iTextSharp(iText的.Net端口,來自服務器)進行上述操作。端Javascript [是的,的確如此,並且可以正常工作。)

我寧願使用JasperReports根據數據在服務器端生成報告。

您可以將html發送到服務器端,並使用iText或JasperReports或OpenOffice api生成pdf。

這取決於您對Javascript解決方案的投入。 通常,我同意生成報表服務器端會更好,因為使用Jasper或Docmosis或類似的東西您將擁有更多的選擇,並且可能會有更可維護的結果。

您可以將頁面的html發送回服務器,並在那里有一個可以讀取它並將其呈現為PDF的系統,但是您進行了比所需的往返更多的工作,這聽起來越來越難了生成PDF的脆弱方法。

暫無
暫無

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

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