用 soffice --headless 批量把文档转成 PDF
用 LibreOffice 无界面模式在命令行把 DOCX、ODT、XLSX、PPTX 批量转换成 PDF,无需打开办公软件窗口。
运行 soffice --headless --convert-to pdf --outdir ~/Desktop report.docx,桌面上就会生成 report.pdf。
01命令
命令
$ soffice --headless --convert-to pdf --outdir ~/Desktop report.docx02作用说明
soffice --headless 让 LibreOffice 在无窗口状态下运行,--convert-to pdf 会在 --outdir 目录写出转换副本,原文件不动;格式名(pdf、xlsx、docx、csv 等)决定输出类型。一次可以传多个文件,用通配符 *.docx 还能转换整个文件夹。注意:如果 LibreOffice 正在运行会阻止无界面转换——先退出它,或用 -env:UserInstallation=file:///tmp/loconv 指定独立配置目录。
03风险
!注意: 复杂排版转换后可能变化(字体、宽表格会被简化,动画会丢失),发出前先打开生成的 PDF 检查一遍分页。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- soffice(1) — Debian manual page依据: Documents --headless and --convert-to for running LibreOffice document conversion without a GUI.
- LibreOffice Help — Converting documents in batch mode依据: Explains batch conversion of many documents with --convert-to and filters such as pdf:writer_pdf_Export.
最后验证: 2026-09-18 · 分类: 媒体