# 本项目主要介绍
1. itextpdf(CreatePdf)
不太推荐需要在代码内部编写PDF格式,如果要使用,建议写个基类,将同一版本 或者同一类型的公共方法写入,差异化的抽象,一个模板一个子类,子类使用@Component命名,使用反射的方式获取模板子类。
2. xhtmlrenderer(PdfUtil)
对于大部分PDF场景都还是非常方便简单的,可以模板可以让前端先使用**HTML**制作,调整好格式和样式后,再改名为ftl后缀。
3. freemarker(FreemarkerUtils)
对于没有使用宏、函数等word、excel,需要按模板动态生成word、excel、html,只需要一个freemarker,先将word、excel、html等另存为**xml**,即可使用模板动态生成文件,目前xlsx是不支持的,
4. PdfTemplate(PdfTemplateUtils)
对于不会HTML的制作,熟悉**itextpdf**的,完全可以使用PdfTemplate,该方法其实就是将itextpdf中PDF的元素使用xml的方式表现,即ftl模板即是使用itextpdf中PDF的元素构成,再使用itextpdf对ftl文本逆解析
5. xdocreport
xdocreport确实很强大,主要是操作**word**,如动态插入数字、汉字、图片,也可以通过指令形式去执行程序输出结果,在复杂word动态生成上功能很强大,但是对word版本要求高,word操作要熟练。
---
# 创建PDF的不同方式以及开源资源:
1. itextpdf
特点:将PDF各元素对象化,通过定义PDF各对象的属性,达到手动构建PDF的效果
缺点:代码量大,方法不够简洁,最初需不断调试才能确定格式和样式是否满足
优点:灵活性高,对简单PDF,频繁变动格式或数据的可快速实现。
适用于复杂度不高,使用依赖于使用者的熟练度
2. dynamicreports
属于itextpdf的优化版本吧!支持了各种文件格式导出,适用于同一数据需要以不同文件导出,不过网上使用教程以及问题处理资料较少。
3. DynamicJasper
它使得JasperReports的创建看起来不太难设计。动态Jasper同时确定列、列宽(自动宽度)、组、变量、字体、图表、交叉标签、子报告(也可以是动态的)、页面大小等。在运行期间。
4. pdfbox
同itextpdf ,其下IronPDF是将PDF标签拓展到HTML标签。
5. ApacheFOP
ApacheFOP被称为格式化对象处理器。这个Java应用程序用于读取格式化对象(FO)树,并确保指定的输出具有结果页面。PDF(重要的输出格式)和其他一些格式,如PS、PCL、AFP、XML(区域树表示)、Print、AWT和PNG,以及在较小程度上,RTF和TXT都是为该应用程序而设计的。Java培训课程有关于java库的使用,还有实操项目巩固你所学的知识,让你拥有一定的项目经验,在以后找工作时,比别人更有竞争力
数据对象XML化,通过对模板(xml模板,比如excel转xml,转化后需修改字体、遍历、条件等位置)使用类似于itext
6. xdocreport
超级强大,可以将不同的文件格式转化为PDF以及其他格式 ,同时也具备xhtmlrenderer转PDF的功能
(注:Linux可能会有字体问题,可通过导入字体,刷新内存字体,重启服务解决)
7. xhtmlrenderer
适用于使用HTML标签的模板转PDF,后端使用超级方便,但是复杂PDF需要较强的HTML功底,使用简单易上手,网上资料多
8. OpenPDF
同itextpdf
9. easypdf
基于pdfbox二次封装,更强大了
***以上 5、6、7是通过模板生成PDF,其他都是需要熟悉该功能包,使用好里面的方法***
# 模板库:
1. freemarker
---
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA项目代码绘制PDF和通过freemarker动态生成PDF
共292个文件
xml:60个
java:28个
sample:13个
5星 · 超过95%的资源 需积分: 0 17 下载量 16 浏览量
2023-05-26
16:54:19
上传
评论 2
收藏 30.89MB ZIP 举报
温馨提示
# 本项目主要介绍 1. itextpdf(CreatePdf) 不太推荐需要在代码内部编写PDF格式,如果要使用,建议写个基类,将同一版本 或者同一类型的公共方法写入,差异化的抽象,一个模板一个子类,子类使用@Component命名,使用反射的方式获取模板子类。 2. xhtmlrenderer(PdfUtil) 对于大部分PDF场景都还是非常方便简单的,可以模板可以让前端先使用**HTML**制作,调整好格式和样式后,再改名为ftl后缀。 3. freemarker(FreemarkerUtils) 对于没有使用宏、函数等word、excel,需要按模板动态生成word、excel、html,只需要一个freemarker,先将word、excel、html等另存为**xml**,即可使用模板动态生成文件,目前xlsx是不支持的 4. PdfTemplate 对于不会HTML的制作,熟悉**itextpdf**的,完全可以使用PdfTemplate,该方法其实就是将itextpdf中PDF的元素逆解析 5. xdocreport 复杂word动态生成上功能很强大
资源推荐
资源详情
资源评论
收起资源包目录
JAVA项目代码绘制PDF和通过freemarker动态生成PDF (292个子文件)
00181498e5324838b4f0d79ebb35bf7c11a301 313B
00771e71323a55bd9f485e3016bb13d8cca421 255B
01051c8da8499bd6ddef356814cf5f2ff5bd00 227B
0bcd0b5cd7bd0ba9b4c6e33bfb2b369eeb7c7d 104B
0c5903d86d2383298676d2a548689d66d3761c 259B
115abeb429863679eab4a3ef0c081ddd572ca9 6.01MB
127c88670c86313e02cc46fcd7f4b66d1b34a4 1KB
137891791fe96927ad78e64b0aad7bded08bdc 16B
152da3cad4fe4bdab4ee169bc2170c46e0ca8f 254B
1757dd6b5e8da94892982085bee59e30bfbd88 69B
1810393e8cfeda59ce1b98c682eca2bb01201e 7KB
18a94fb5cd0e3e1215a24576aa1768da610d3b 1011B
1ac02e64d765f38fd76c757f2d246e60ccc630 219B
20eb66fb6a5cf9c6d78c33b2697c12517a783a 234B
22ce3f46875d8ccdafe6946a61c8b961e041df 9.86MB
277e6962944d3dd3d6bdd283000bf58b710b92 59KB
293d962f53f58aef3a1566bb780f7796b52dd7 135B
2b9cff6e4c13b7105d518e1d2abf80d244e959 180B
2bd96132ab8c3f497165800a38b84d8225029e 176B
2bdb5f556601125a9a02325b169cfb7a4aacc6 46B
2d5c1fc3a0ff4cc3e5b88ca73bf27544e7bb16 907B
2dcf5546af7ef43161bedf99e717f8c6294828 2KB
2dd24d47d5425345c20f28faba2023af1958c0 245B
2ead4e89f21174888a3e9cca1a176134cd9108 227B
3006fa5cb24a484040c6052803d37735a25c8a 2KB
310b5fdf5ae4d580ade90674af28ec94294d86 1KB
31c3e5d05d7620c5e46e626eb4f47b268bc030 5KB
32633311a0394ed25b47d07ebc732209a9cec9 212B
345373318a2fb1d4cdf259ac314749eefeffb2 934B
350d5b442745cae8105ccc77c09d49477e9fe6 252B
3625e7904b9185b1cca66163b287f01c7ba748 221B
3644101eebbb804d14de6886afd18f54eaf9d8 2KB
37f0216dd06475df7222ca2e091c18128b5d92 364B
38347183f5a70196f820c3447954a8ce1f380c 67B
3851238360b15ad7aaf01b0697695996698ca6 2KB
40802ad12683c4024880cba5f22d752788f509 69B
455238268f3856e6009c36134b04334c5fb688 211B
47716e435d6cecd5d787398c94737cfe424f1a 223B
4781ae68015549b899efa120ca0221f72dedb3 243B
47bc6df9b89f45895849b3e969bc53ba078d9a 784B
47d44ed2fc7348bdcbd1ee63b2052b2b29f9f2 2KB
491128aa88e668e0049d370a2b39547901eca0 996B
4a202b39820553aee6cdcaf8145562c6c8f4d6 1KB
508f8de7c6d26f4b5c678173bb192ac84e2edc 126B
511b062de2ba312eaec25e22cd9b3a51a681fe 524B
52dc79d769ff8290af37005482d3506de2fe86 420B
52e284b99e8324145f13773d92d24fe3a46bf0 995B
53f510f74a339ef962ba9eb64cd5db2bde8407 245B
54f84685c4d820ad0eb0a1bf366d28929e8b2e 1KB
54fe40b748967cb7c804c69aab55f90a74f2ea 757B
55a2eba8e8811082d1a03a80668380dd5a6bfe 3KB
56eecb581d39c9a55571f0fb877d5c7af5b9e6 240B
5765f63b04778216d28d8c622da5bbbafc2397 1KB
57bee6285a092e2b6ba3d97a3912cba509dcb7 2KB
5b2b80359065177be08466192b4e962dadf1f4 4KB
5cc1cb492b0e273259bfca3c9314470e237856 262B
5eff2468d277129173ffefba36935c36a2697b 245B
5f9c66099ad507aed26ecf5f8f6f0ed17bb763 262B
60565ad6ffdc8eff9317200ebb5d0a35b57a74 46B
6518812c3d416914c206b31228ba9dd71c9d6d 229B
656147710aca72ad6f239c6da1514fccc269f8 208B
666c4d066388f6d4de7625bbb7d060e864a7e6 263B
67490fce4196550c7364eccf7f286e5ff190d4 9KB
67cdd502e618f07ff94582dae35be453ebb277 228B
6b61a5128232e209660408011ff15c93e1e825 9KB
6c076f0073442f9202b0dacb3422bb1b0904d4 362B
6f91b6f24db8031d788b314a62a905ec935af6 5KB
71a7084607280816e0c530052c8e65864b4098 240B
7213aa950c2ff94faa8505fb7344f059048267 253B
77417de4bf8cef2277ef2812dfa2b32ebd4d48 224B
78a4be1e252bc415677826dd4a7b86d22cae52 226B
7e1094fecd33b79f06138fbcb87bc75ce1c303 243B
7fb47c53206adfbf5046481669cccdcfd6ce7e 184B
7fe39c8d6dd1f4dff67a2c3bc5e75511701431 9KB
83cf1ad20e2d6c3dc899d15e43680a098c542b 1KB
8412d5fdb1f742098e5ead44816da237d54f17 1KB
842c2a65ebb173d7836027b06e4bdc51363c88 193KB
86d68cb3c08f21280c34f439b9587669f5d658 4KB
8778fef3378d2b00e5d4e260491f33b776287d 351B
8941e9c75a03b528c977ee450b8af2b107ecac 30KB
89f238597ffbf6125f043647d79078e08a82e5 186B
8ad3cfa26b1d88828f7ea256de39a764c57604 1KB
8d6c8ad999c076f404a9442decd760ec765cdd 262B
8ea66b586fe11c83da129df4cf4d59d953396e 223B
9055137b06bcec683a3d0bdc9250dcbc80a335 224B
9288159b64b0c8f259fa28ec7dfddec6c2a5ca 257B
92dca86e1ca2aeec727063345b5de7c545f68f 1KB
94e85fb6ee72a51f3608010b4d60a6372ffb3f 74B
9685a00976413a17dabdbb10447506353081e8 55B
9713e5ba15fbaece6debaed11956dfdd7181d7 219B
986520d00f18172ab359c8e63b6b689a85419b 236B
9953a8b136720caa9fb31ea921c4d3ccc89529 244B
9f1aa63c230396e7d0d5595db95ee74ded12ac 1KB
9f3024f41573070b8e59ec398e532bb413b3cf 241B
9f7235e9529596d910ee5d4dcdd0e45ce456c3 261B
9f9dd949134946940c4646d1928a59c26ef878 254B
a25f7f4cb416c083d265558da75d457237d671 155B
a43f3224f062a5cab79b88c4632a1d7c7f3763 249B
a50d7a149395d8fe881c6cb932ddb83770d0f6 231B
a5a5df03ce99fbad81200fae34cce3ffe6f650 801B
共 292 条
- 1
- 2
- 3
资源评论
- 我JO得不行2023-07-17#内容详尽 #注释完整 #完美解决问题
对方正在强制输入中...
- 粉丝: 61
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功