在 CentOS 中,将 LibreOffice 文档(如 .odt、.doc、.docx、.xls、.ppt 等)转换为 PDF,通常有下面几种常用方式。
如果还没安装:
sudo yum install libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-impress
(或 CentOS 8+ 用 dnf)
libreoffice 命令转换libreoffice --headless --convert-to pdf 文件名.docx
示例:
libreoffice --headless --convert-to pdf test.docx
生成的 test.pdf 会在当前目录。
libreoffice --headless --convert-to pdf --outdir /tmp test.docx
libreoffice --headless --convert-to pdf *.docx
--headless服务器(无桌面)一定要加,否则会报错。
如果已有 LibreOffice 图形界面在运行,命令行可能失败。
如果 PDF 中文乱码:
yum install wqy-zenhei-fonts
或安装其他中文字体。
soffice(更底层)libreoffice 实际是 soffice 的软链接:
soffice --headless --convert-to pdf file.pptx
#!/bin/bash
for f in *.docx; do
libreoffice --headless --convert-to pdf "$f"
done
unoconv(依赖 LibreOffice)如果你有 具体文件类型(docx / xlsx / pptx) 或 遇到报错信息,可以贴出来,我可以帮你具体分析。