java word导出pdf

Wesley13
• 阅读 825

整体思路就是: 使用word模板引擎,将占位符(格式:{{title}})替换为查询出来的数据,再将替换完成的word转换为pdf

java word导出pdf

doc转pdf源码: https://gitee.com/java\_long/docs-to-pdf-converter.git

word模板引擎: https://github.com/Sayi/poi-tl.git

pom依赖:

<_**dependency**_> <_**groupId**_>com.deepoove</_**groupId**_> <_**artifactId**_>poi-tl</_**artifactId**_> <_**version**_>1.6.0-beta1</_**version**_> </_**dependency**_> <_**dependency**_> <_**groupId**_>docs-to-pdf-converter</_**groupId**_> <_**artifactId**_>docs-to-pdf-converter</_**artifactId**_> <_**version**_>1.8</_**version**_> </_**dependency**_>

代码实现:

//word模板替换 XWPFTemplate template = XWPFTemplate.compile("/Users/andy.l.an/IdeaProjects/ibuild-cscec82-contract/ibuild-cscec82-contract-portal/src/main/resources/word/subcontract/template/template.docx").render_(new HashMap<String, Object_>(){{ _ put("title", "Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎Poi-tl 模板引擎"); }}); FileOutputStream out = new FileOutputStream("/Users/andy.l.an/IdeaProjects/ibuild-cscec82-contract/ibuild-cscec82-contract-portal/src/main/resources/word/subcontract/template/out_template.docx"); template.write(out); //word转换pdf FileOutputStream pdfout = new FileOutputStream("/Users/andy.l.an/IdeaProjects/ibuild-cscec82-contract/ibuild-cscec82-contract-portal/src/main/resources/word/subcontract/template/out_template.pdf"); DocxToPDFConverter docxToPDFConverter = new DocxToPDFConverter(new FileInputStream(new File("/Users/andy.l.an/IdeaProjects/ibuild-cscec82-contract/ibuild-cscec82-contract-portal/src/main/resources/word/subcontract/template/out_template.docx")), pdfout, true, true); docxToPDFConverter.convert(); out.flush(); out.close(); template.close()_;

踩坑记:

中文转换为空:

系统需要装word使用的字体:

mac: 已经要把字体放到/Library/Fonts 目录下, 仅仅通过字体集安装不行

点赞
收藏
评论区
推荐文章
Irene181 Irene181
2年前
利用Python将Word试卷匹配转换为Excel表格
需求有一个下面这种形式的word表格:希望能转换为下面这种格式的excel表格:测试word文档读取先测试一个word文档前1页的数据读取:fromdocximportDocumentdocDocument("编号02质检员高级技师(一级)理论试卷.docx")fori,paragraphinenumerate(doc.par
good123 good123
2年前
PDF转WORD为什么是历史难题
PDF转Word是一个非常非常普遍的需求,可谓人人忌危,为什么如此普遍的需求,却如此难行呢,还得看为什么会有这样的一个需求:PDF文档遵循iOS32000的规范是由Adobe公司推出的文档格式,之所以应用如此广泛,是因为PDF精确定位了每个字符的坐标、根据坐标绘制的各种形状,使用PDF格式传输和打印文档可以保证格式的一致性,然后很多PDF文件是可用于阅
Wesley13 Wesley13
2年前
java代码操作word模板并生成PDF
这个博客自己现在没时间写,等后面有时间了,自己再写。这中需求是在实际的项目开发中是会经常遇到的。下面我们先从简单入手一步一步开始。1.首先,使用word创建一个6行两列的表格。点击插入6行2列的表格,如图所示:!(https://img2018.cnblogs.com/blog/1527997/201910/15279972019
Wesley13 Wesley13
2年前
jacob安装配置完整版
1.如果要操作word用jacob当然是最好的。要操作Excel用poi是最棒的。其他的(ppt,pdf)我还没有研究不清楚。2.jacob好是好不过代码比较复杂。网络上有基于jacob封装好的jar:java2word。不过呢,目前java2word版本是有bug的(bug:用JUnit测试是没有任何问题的,但放在web上测试就出错了)。只好自
Wesley13 Wesley13
2年前
java将pdf文件转为word
importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.io.Writer;importorg.apache.pdfbox.pdmode
秋桐 秋桐
1年前
通过Java实现Word转PDF
Word转为PDF是非常常见的一种格式转换。通过转换可以将文档以更为稳定的格式进行保存,避免他人随意修改格式和内容。其实Word转PDF并不难,除了直接转换外也可以通过编程的方式来实现。网上相关的教程分享也很多。今天想介绍一个JavaWord组件——Fre
Stella981 Stella981
2年前
Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧。这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工具把word保存为pdf,最后上传到公司服务器里,这简介反人类,不但丢失了图片头文件信息,还造成后期数据转换的大量时间资源的浪费,可能pdf格式会小一
Wesley13 Wesley13
2年前
Java源码转Word
背景由于软件著作权需要提交源码文档前30连续页后连续30页,所以需要将Java源码提取Word文档中,然后打印出来。(容我吐槽一下,给源码仓库地址不好吗?还可以减少对纸质的耗费,也算是为环保做贡献啊!)小结MicrosoftWordJS,由于源码肯定是放到本地,使用js反而复杂了。WPSJavaA
Wesley13 Wesley13
2年前
ActiveReports 报表应用教程 (16)
ActiveReports 支持多种格式的报表导出,包括PDF、Excel、Word、RTF、HTML、Text、TIFF以及其它图片格式,用户可以将它们应用到Windows Forms、Web、WPF、Silverlight等应用系统中。在专业版的 ActiveReports 里,对PDF格式的数据输出又有了增强功能。现在用户可以将不可见的数字签名或者
绣鸾 绣鸾
5个月前
PDF Reader Pro 3.0 for mac(pdf阅读器)
是一款功能强大的PDF阅读和编辑工具。它支持在PDF文档中进行注释、批注和高亮显示,并可进行文本编辑、插入水印和数字签名等操作。此外,该软件还可以将PDF文档转换为其他格式,如Word、Excel和图片,并提供电子表格功能,可以对表格进行编辑和整理。PDF