领取MOLI红包

COFFEE中文网

你的位置:Onooks中文网 > COFFEE中文网 > SpringBoot如何实现word文档转pdf

SpringBoot如何实现word文档转pdf

发布日期:2025-01-04 16:31    点击次数:176
一.背景 项目中有个需求大体意思是,上传一个word模板,根据word模板合成word文件,再将word文件转为pdf。 二.方案选择 1.Spire.Doc for Java方案 Spire.Doc for Java这个是商用收费的,不过API文档丰富且集成简单,免费版仅支持3页转换。类似的还有ITEXT,这个商用也是受限制的。 2.docx4j方案 开源可商用,仅支持docx格式的word。 3.jodconverter+LibreOffice 方案 开源可商用,调用本地office服务,进行pdf转换,类似的还有jodconverter+openOffice。 4.其他 至于其他的由于不支持跨平台不做考虑。 三.实操 1.docx4j 首先尝试了docx4j,因为docx4j本身支持模板替换的操作,可一次性做替换及文档类型转换,而且仅支持docx类型,对于本次需求问题不大。 1.依赖仅需要一个即可 2.主要代码 清除工具类,用于处理占位符替换不生效的问题,这里参考文章 2.poi-tl+jodconverter+LibreOffice 方案 poi-tl这个是专门用来进行word模板合成的开源库,文档很详细。 LibreOffice 下载最新的稳定版本即可。 1.maven依赖 2.主要代码 JodConverterConfig配置类 yml配置文件 PdfService合成导出代码 四.结论 1.docx4j方案 依赖少同时支持word合成及格式转换转化效率较差对于含样式及图片转换不友好,容易排版混乱 2.jodconverter+LibreOffice 方案 操作稳定转换效率快集成依赖设置较多依赖本地服务LibreOffice打开word可能排版样式错乱最后考虑项目需求,最终选择了jodconverter+LibreOffice方案。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。