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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现