温馨提示×

centos liboffice怎样转换格式

小樊
35
2026-09-12 06:02:23
栏目: 智能运维

在 CentOS 上可以使用 LibreOffice 的命令行工具 来转换文档格式,不需要打开图形界面,非常适合服务器环境。


一、确认已安装 LibreOffice

which libreoffice
# 或
which soffice

如果没有安装:

sudo yum install libreoffice
# 或(较新版本)
sudo dnf install libreoffice

二、基本转换命令(最常用)

1️⃣ 转换为 PDF

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

或:

soffice --headless --convert-to pdf example.docx

2️⃣ 转换为 Word(docx)

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

3️⃣ 转换为其他格式

常用格式:

  • pdf
  • docx
  • doc
  • xlsx
  • csv
  • pptx
  • txt
  • html

示例:

libreoffice --headless --convert-to xlsx example.csv

三、指定输出目录

libreoffice --headless --convert-to pdf --outdir /data/output example.docx

四、批量转换

for f in *.docx; do
  libreoffice --headless --convert-to pdf "$f"
done

或一次性转换整个目录:

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

五、常见问题与注意事项

⚠️ 1. 必须在非 root 下运行(重要)

LibreOffice 不允许 root 直接运行,否则会报错:

Cannot run as root user

解决方式:

sudo -u normaluser libreoffice --headless --convert-to pdf file.docx

或创建专用用户运行。


⚠️ 2. 需要字体(中文乱码)

CentOS 服务器常缺中文字体:

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

安装后重启 LibreOffice 进程。


⚠️ 3. 杀死残留进程

有时转换卡住:

pkill -f soffice

六、示例完整流程

sudo -u officeuser \
libreoffice --headless --convert-to pdf \
--outdir /home/officeuser/output \
/home/officeuser/docs/report.docx

如果你有 具体格式(如 docx → pdf / excel → csv)CentOS 版本(7 / 8 / Stream),我可以给你更精确的命令。

0