2011-06-07 74 views
1

我有一個要求,即在用戶付款並將其附加到電子郵件併發送到我的Java Web應用程序後生成(動態)PDF。在Java Web應用程序中生成PDF

我想利用iText,但我真的不喜歡的所有格式和佈局如何被混在PDF的內容,按照這個鏈接的例子:http://www.coderanch.com/how-to/java/ItextExample

的原因我不不喜歡它被混合在一起是因爲我們的用戶界面的人不會輕鬆觸摸這個Java代碼。

我還有其他選擇嗎?我真的不想用所需的數據生成XML文件,然後必須對其進行轉換,所以我認爲XSL-FO可能會失效。

+0

這個例子真的很老。看看http://www.itextpdf.com/examples – Redlab 2011-06-07 10:49:12

+0

啊下面有一個更新的例子,沒有看到第一個。 – Redlab 2011-06-07 11:02:55

回答

1

我已經在幾個項目上使用了Jasper Reports,當它編譯報告時它工作得很好,速度也非常快。用於創建報告的用戶界面並不算太差,但您需要對數據模型有所瞭解。你可以通過在你想要的任何數據源,包括XML文件或一個簡單的HashMap填入您的數據:

http://jasperforge.org/website/jasperreportswebsite/trunk/documentation.html?header=project&target=jasperreports

File myJasperFile // reference to compiled Jasper file 
JRExporter exp = new JRPdfExporter() 
ByteArrayOutputSream b; 
JasperPrint p = JasperFillManager.fillReport(...) 
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, b) 
exp.setParameter(JRExporterParameter.JASPER_PRINT, p) 
exp.exportReport() // b now contains the PDF binary 
+0

您使用過JasperReports嗎?然後你也使用iText;)JasperReports用iText做它。 – Redlab 2011-06-07 10:48:28

+0

是的,我已經使用了很多使用iText的庫,也使用了iText獨立版,並不建議創建報告。在它上面使用報告庫要容易得多。 – 2011-06-07 15:42:19

0

有許多的HTML的>浮動的PDF選項(包括iText)。您可以從您的UI人創建的模板生成HTML,並將其轉換爲PDF。不重要的。

如果您的HTML獲得所有幻想和scriptified,iText(和大多數其他轉換器)將無法正確處理它。對於先進的東西,你需要WKHTML2PDF,這是一個基於webkit的應用程序,寫入PDF而不是屏幕。它是光滑的(並且在重量方面有點)。 iText會更有效率。

相關問題