java 生成 PDF 總結(1)
阿新 • • 發佈:2022-12-04
如何用java生成 PDF 文件,執行環境在linux上。自己在網上找了好多資料,總結下來做個分享。後面也會建立幾個demo供大家參考。主要分為以下幾個部分:
1. 概述
2. itext
3. itext+ freemarker
4. 總結
1. 概述
生成方式一般有三種方式,一種直接生成,一種通過模板生成,一種通過word轉為pdf。第一種方式格式需要自己去寫,比較麻煩;第二種方式通過html轉為pdf,格式不能完全滿足; 第三種方式目前尚未有免費的可靠的在linux上的解決方法。
序號 |
方式 |
方案 |
優勢 |
缺點 |
備註 |
1 |
直接生成 |
itextPdf |
iText有很強大的PDF處理能力,可基於製作的pdf模板生成,但是製作過程比較麻煩 |
樣式和排版不好控制,直接寫PDF文件,資料的動態渲染很麻煩 |
|
2 |
模板生成 |
Itext+ freemarker |
解析html或ftl輸出pdf |
需要編寫freemarker 模板,html |
|
3 |
Itext+Flying sauser+ freemaker |
解析html,輸出pdf |
需要編寫freemarker 模板,html |
||
4 |
Word轉pdf |
Poi (doc 轉 pdf) |
簡單 |
格式有時會混亂 |
|
5 |
收費包(spire.doc、aspose-words) |
效果不錯 |
收費 |
||
6 |
jacob |
完美保持原doc格式 |
Windows平臺 |
||
7 |
openOffice |
需要安裝服務,有時也會有格式錯誤 |
|||
8 |
docx4j/documents4j |
Windows平臺 |
接下來幾個章節,我會針對itextPdf、Itext+ freemarker進行介紹,並提供demo。