温馨提示×

liboffice在centos如何转pdf

小樊
42
2026-09-03 07:04:32
栏目: 智能运维

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


一、安装 LibreOffice(CentOS)

CentOS 7

yum install libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-impress

CentOS 8 / Stream

dnf install libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-impress

headless 版本适合服务器,无界面转换

安装完成后验证:

libreoffice --version
# 或
soffice --version

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

基本命令

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

或(等价):

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

转换后会在当前目录生成:

文件名.pdf

三、指定输出目录

libreoffice --headless --convert-to pdf --outdir /data/pdf 文件名.docx

四、批量转换

libreoffice --headless --convert-to pdf *.docx --outdir /data/pdf

五、常见问题与解决

1️⃣ 转换无反应 / 卡住

通常是 缺少用户配置目录权限已有 LibreOffice 进程

解决:

pkill -f oosplash
pkill -f soffice

并指定用户目录(推荐服务器使用):

libreoffice --headless \
  -env:UserInstallation=file:///tmp/louser \
  --convert-to pdf test.docx

2️⃣ 中文乱码

安装中文字体:

yum install wqy-zenhei-fonts
# 或
yum install cjkuni-uming-fonts

3️⃣ 转换 PPT 时字体错位

确保服务器安装了与源文件相同的字体。


六、在脚本 / 程序中使用(示例)

#!/bin/bash
libreoffice --headless --convert-to pdf "$1" --outdir /data/pdf

七、替代方案(不依赖 LibreOffice)

  • pandoc + wkhtmltopdf(适合 Markdown / HTML)
  • unoconv(基于 LibreOffice,已较少维护)

如果你有 具体文件类型(Word / Excel / PPT)CentOS 版本,我可以给你更精确的命令。

0