2008-12-12 32 views
2

目前我正在使用FOP從java代碼和xslt文檔生成pdf。 FOP吐出顯示(嵌入)到網頁中的PDF文件。這些文檔的範圍可以在一到幾千頁之間,生成它們可能需要一些時間。從Java創建PDF並將其顯示在網頁上

有沒有更好的工具,並做到這一點? FOP是開源和免費領域的最佳選擇嗎?

回答

1

這個答案對你來說太晚了,但是如果它幫助其他搜索者,Docmosis可以以相當高的速度生成文檔,並且可以在多個機器上傳播高負載。它使用OpenOffice作爲底層格式轉換引擎,通過Docmosis Java API添加文檔填充和操作設施。
幾千頁文檔將會佔用大部分系統,但如果系統(或您的代碼)允許您平行並分配工作量,則至少平均文檔率可能很高,即使單個文檔時間可能很重要。

JODReports是另一個類似的選項。

4

我們使用iText

這裏是博客條目Comparing Apache FOP with iText

根據您的使用情況(從java代碼和xslt文檔生成pdf)來判斷,FOP似乎是您的更好選擇。

編輯:本次論壇一篇關於FOP Vs IText包括以下內容:

iText的是富人比FOP至於PDF而言更多的功能:您可以添加註釋,創建AcroForms,數字簽名PDF文檔。 如果您需要生成包含數千或數萬頁的PDF文檔,iText也是唯一的解決方案。

+2

我也會爲iText投票。順便說一下,如果您的PDF恰好是報告,您可以使用JasperReports:http://jasperforge.org/plugins/project/project_home.php?group_id=102 – Jeff 2009-01-26 19:33:10

1

您可以使用OpenOffice.org作爲服務器運行並遠程命令它進行文檔轉換。

除了HTML到PDF,也有可能其他convertions: 文檔 - > PDF,HTML,TXT,RTF XLS - > PDF,HTML,CSV PPT - > PDF,SWF

代碼示例:

import officetools.OfficeFile; ... FileInputStream fis = new FileInputStream(new File(「c:/test.html」)); FileOutputStream fos = new FileOutputStream(new File(「c:/test.pdf」));

//假設OpenOffice.org localhost上運行時,端口8100

OfficeFile F =新OfficeFile(FIS, 「本地主機」, 「8100」,TRUE); f.convert(fos,「pdf」);

來源:HTML與PHP,Java或ASP爲PDF格式: dancrintea.ro/html-to-pdf/

相關問題