2011-09-06 210 views
3

我需要用Java生成一些商業信函,其中包含一些動態信息,如地址,來自等等。剩餘的信件內容將是相同的。這些字母不會顯示給用戶,而是直接打印出來。我知道我可以使用Jasper Reports來做到這一點,即生成pdf &將其打印出來。有人對此有任何其他建議嗎?在Java中生成字母

+0

Crystal Reports? ;-)我建議在你要找的東西上更具體一些。你有什麼理由讓Jasper傾向於另一種解決方案嗎? – Wivani

+0

是否有可能在pdf中有一個預先定義的模板,以便業務用戶也可以定義它,然後只有動態字段由代碼填充以生成目標pdf – rakesh

+0

我建議您考慮通過您的要求並調整你的問題相應地(或關閉這一個,並開始一個新的)。模板在Crystal,BIRT,Jasper等報表工具中是一項非常標準的功能。大多數時候的主要問題是:模板編輯器是否便於用戶使用? – Wivani

回答

0

FreeMarker非常適合這一代人。然後您可能會使用其他庫來轉換爲可打印格式並打印。

1

您可以使用PDF工具,如iText。 iText允許您從Java或.NET創建pdf文檔。

0

如果您願意,您可以使用一些免費提供的庫來構建您自己的系統,用戶可以使用Word(或Writer)格式提供模板。有幾個選項可用於合併數據與模板,但基本上可以歸結爲以xml打開文檔並將自定義標記(或用於mailmerge函數的標記)替換爲數據。您可以爲自定義標籤實現FreeMarker(請參閱Mike's answer)。那過我的腦海 圖書館是:

  • OpenOffice的API
  • Docx4J
  • 的Apache POI

這裏有很多有經驗的用戶對所以對於這些(和其它庫),所以任何問題你遇到的肯定會得到一個體面的後續行動。

乾杯, 維姆

0

在回答你的模板意見,JODReportsDocmosis可能是有用的。他們在OpenOffice API的頂層工作(按照Wivani的迴應),這很難直接使用。