采用libreoffice将word、excel等文件转换为pdf格式

一、安装LibreOffice

LibreOffice官网下载链接(https://downloadarchive.documentfoundation.org/libreoffice/),下载对应系统的libreoffice后,按照步骤安装即可。

(注:在某项目中,采用libreoffice转码office文件为浏览器可预览文件时,libreoffice安装完成、环境配置后,服务器依旧不能访问libreoffice进行转码,此时将libreoffice的版本更换为LIbreOffice_25.2.5.2就可以了,应该是系统不兼容导致的,如遇同样的问题,可以切换版本试试)

安装完成后检查program文件夹中是否存在soffice.exe文件。

二、代码实现

代码中采用ProcessBuilder调用soffice.exe。

复制代码
//其中的sofficePath安装路径下的programme文件夹中的soffice.exe 
//示例:D:/Libreoffice/program/soffice.exe

ProcessBuilder pb = new ProcessBuilder(
                sofficePath,
                "--headless",
                "--convert-to", "pdf",
                "--outdir", outputDir.getAbsolutePath(),
                wordFile.getAbsolutePath()
        );

  pb.inheritIO();
        Process process = pb.start();
        int exitCode = process.waitFor();

        if (exitCode != 0) {
            throw new RuntimeException("LibreOffice 转换失败,exitCode=" + exitCode);
        }

以上的转换方式时间比较慢、存在并发限制及一定的资源消耗,高并发的可以采用LibreOffice 服务模式(UNO Server)。

相关推荐
E_ICEBLUE21 小时前
在 Python 中对比 Word 文档:自动生成修订报告
python·word
大模型RAG和Agent技术实践21 小时前
破译Word文档的“语义黑盒”:企业级DOCX RAG架构演进与全链路实战(完整源代码)
人工智能·架构·大模型·word·智能问答·rag
鹏大师运维1 天前
统信UOS上使用WPS PDF独立版
linux·运维·windows·pdf·wps·统信uos·wine
ttod_qzstudio1 天前
PDF 生成与本地文件操作:浏览器原生文件系统 API 实战
pdf
superior tigre1 天前
word参考文献交叉引用的方法(包括批量把交叉引用改为上标、保留跳转功能到pdf)
word
asdzx671 天前
使用 Python 比较 PDF 文件差异(简单方法)
python·pdf·文档比较
开开心心就好1 天前
免费轻量级PDF阅读器,打开速度快
windows·计算机视觉·visualstudio·pdf·计算机外设·excel·myeclipse
我喜欢就喜欢1 天前
Word 模板匹配与样式同步技术详解
开发语言·c++·qt·word·模板匹配
A_nanda1 天前
一款前端PDF插件
前端·学习·pdf·vue
2501_930707781 天前
使用C#代码获取PDF文件的页数
开发语言·pdf·c#