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

相关推荐
私人珍藏库11 小时前
【Windows】PDF超能助手(1.0.13)
windows·pdf·工具·软件·多功能
其实秋天的枫14 小时前
2026年新大纲普通话考试真题题库50套(PDF电子版)
经验分享·pdf
昵称暂无115 小时前
通过 C# 复制 Word 文档、指定段落、指定节
开发语言·c#·word
开开心心_Every15 小时前
文字转语音无字数限,对接微软接口比付费爽
运维·服务器·人工智能·edge·pdf·paddle·segmentfault
无心水16 小时前
2、5分钟上手|PyPDF2 快速提取PDF文本
java·linux·分布式·后端·python·架构·pdf
优化控制仿真模型17 小时前
2026年新大纲普通话考试真题题库50套(PDF电子版)
经验分享·pdf
SEO-狼术17 小时前
Aspose.PDF for .NET 24.5 Crack
pdf
其实秋天的枫17 小时前
考研英语一历年真题及答案PDF电子版(1998-2026年)
经验分享·pdf
优化控制仿真模型17 小时前
【27考研】考研英语一历年真题及答案PDF电子版(1998-2026年)
经验分享·pdf
搬代码17 小时前
wps压缩pdf压缩
pdf