温馨提示×

centos下liboffice转pdf怎样

小樊
50
2026-10-03 09:32:36
栏目: 智能运维

在 CentOS 下用 LibreOffice 将文档(如 docx、xlsx、pptx 等)转换为 PDF,常见做法如下:


一、安装 LibreOffice

CentOS 7

yum install libreoffice libreoffice-headless

CentOS 8 / Stream

dnf install libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress

建议同时安装 libreoffice-headless(无界面运行支持)


二、命令行转换 PDF(最常用)

基本命令

libreoffice --headless --convert-to pdf 文件.docx

指定输出目录

libreoffice --headless --convert-to pdf --outdir /tmp/output 文件.docx

批量转换

libreoffice --headless --convert-to pdf *.docx

三、常见问题与解决

1️⃣ 转换无反应 / 卡住

可能是 用户目录冲突(尤其是 root 用户):

libreoffice --headless --convert-to pdf -env:UserInstallation=file:///tmp/lo_profile 文件.docx

或创建专用用户运行。


2️⃣ 中文乱码 / 字体缺失

安装中文字体:

yum install wqy-zenhei-fonts
# 或
yum install google-noto-cjk-fonts

然后刷新字体缓存:

fc-cache -fv

3️⃣ 找不到 libreoffice 命令

尝试:

soffice --headless --convert-to pdf 文件.docx

四、后台 / 脚本调用建议

在 Java / Python / Shell 中调用时:

  • 避免并发调用同一 LibreOffice 实例
  • 使用独立 UserInstallation 目录
  • 可配合 timeout 防止卡死
timeout 60 libreoffice --headless --convert-to pdf file.docx

五、服务化方案(进阶)

如需高并发:

  • libreoffice + supervisor
  • jodconverter + LibreOffice
  • onlyoffice / unoconv

如果你能说明:

  • CentOS 版本
  • 文件类型(docx / xlsx / pptx)
  • 是否用于服务器 / 程序调用

我可以给你更精确的方案。

0 踩