1. 程式人生 > 其它 >java 生成 PDF 總結(1)

java 生成 PDF 總結(1)

如何用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。