采用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 小时前
【2026专四】英语专业四级TEM4历年真题及答案电子版PDF(2009-2025年)
经验分享·pdf
2501_9071368211 小时前
HandyWrite Pro - word/excel转手写工具
word·软件需求
SunnyDays101111 小时前
如何使用 Python 将 PDF 转换为 TIFF 或将 TIFF 转换为 PDF
人工智能·python·pdf
Eiceblue11 小时前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel
天才少女爱迪生11 小时前
word格式规范检测+自动修改【python】
python·c#·word
优化控制仿真模型11 小时前
26年新大纲普通话考试真题题库50套(PDF电子版)
经验分享·pdf
gc_229911 小时前
学习C#调用OpenXml操作word文档的基本用法(29:学习中断类)
word·中断·openxml·break
明如正午12 小时前
转换pdf文件为md文件【markitdown+pdf4llm】
python·pdf·markitdown·pdf4llm
开开心心_Every13 小时前
图片转PDF合并工具,支持扫描仪输入
运维·前端·人工智能·随机森林·edge·pdf·逻辑回归
早睡早起早日毕业13 小时前
调用MinerU的API,实现PDF转markdown文件
pdf