[英]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.