采用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)。

相关推荐
百事牛科技2 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
开开心心就好3 天前
安卓开源应用,超时提醒紧急人护独居安全
windows·决策树·计算机视觉·pdf·计算机外设·excel·动态规划
骆驼爱记录3 天前
WPS页码设置:第X页共Y-1页
自动化·word·excel·wps·新人首发
2301_816997883 天前
Word 清除格式的方法
word
微光feng4 天前
毕业论文word引用操作汇总
word·目录·公式·毕业论文·交叉引用·题注
2301_816997884 天前
Word 功能区与快速访问工具栏
word
halen3334 天前
Hellowordl: The Masters Tool for Word Puzzle Enthusiasts
word
lpfasd1234 天前
Markdown 导出 Word 文档技术方案
开发语言·c#·word
Cxiaomu4 天前
Python 文件解析: Excel / Word / PDF 的解析、处理、预览与下载
python·word·excel
Felicia-侧听4 天前
如何统一PDF页面宽度?统一pdf宽度的2种方法
pdf·pdf宽度统一