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。