Linux 配置 LibreOffice 实用指南
一 安装与版本选择
- 术语说明:通常所说的“LibOffice”指的是LibreOffice。
- 发行版仓库安装(推荐)
- Debian/Ubuntu 系:sudo apt update && sudo apt install libreoffice
- Fedora:sudo dnf install libreoffice
- CentOS/RHEL:sudo yum install libreoffice
- openSUSE:sudo zypper install libreoffice
- Arch:sudo pacman -S libreoffice
- 官方离线安装(.deb/.rpm)
- 从官网下载对应系统的安装包,安装命令示例:
- Debian/Ubuntu:sudo dpkg -i libreoffice_*.deb;若有依赖问题执行 sudo apt-get -f install
- RHEL/CentOS:tar -xvf LibreOffice_*.tar.gz;cd LibreOffice_*/RPMS;sudo yum localinstall *.rpm
- Snap 安装
- sudo snap install libreoffice --classic
- 中文语言包
- 发行版仓库:sudo apt/yum/dnf install libreoffice-langpack-zh-CN
- 离线安装:下载并安装与版本匹配的 zh-CN 语言包 RPM/DEB。
二 命令行转换与常用参数
- 验证安装:/opt/libreofficeX.Y/program/soffice --version
- 无头转换示例
- 将 DOCX 转 PDF:/opt/libreofficeX.Y/program/soffice --headless --invisible --convert-to pdf input.docx --outdir /path/out
- 批量转换:/opt/libreofficeX.Y/program/soffice --headless --invisible --convert-to pdf /path/docs/*.docx --outdir /path/out
- 常用参数
- –headless:无界面运行
- –invisible:不显示启动画面
- –convert-to:指定输出格式(如 pdf、html、txt)
- –outdir:指定输出目录
- –nologo / --nofirststartwizard:静默启动相关选项
三 中文字体与 PDF 乱码处理
- 准备字体
- 将 Windows 字体目录 C:\Windows\Fonts 打包上传至 Linux,例如放到 /usr/share/fonts/windowsFont
- 设置权限:chmod -R 755 /usr/share/fonts/windowsFont
- 刷新字体缓存
- 推荐:mkfontscale && mkfontdir && fc-cache -fv
- 兼容做法:fc-cache(部分系统需先安装 fontconfig、cups-libs)
- 验证:fc-list | grep -i simhei(或其他中文字体名)
- 再次转换 PDF 验证中文是否正常。
四 依赖缺失与无头运行问题排查
- 常见依赖缺失报错(如“libcairo.so.2: cannot open shared object file”)
- 安装:sudo yum install cairo cups-libs libSM
- 无头转换仍失败
- 确认命令包含:–headless --invisible --convert-to,且输入/输出路径正确
- 检查磁盘空间与文件读写权限
- Java/服务调用监听端口冲突(如端口 8100 被占用)
- 查看进程:ps -ef | grep soffice
- 结束旧进程:kill -9
- 后台启动监听:nohup /opt/libreofficeX.Y/program/soffice --headless --accept=“socket,host=127.0.0.1,port=8100;urp;” --nofirststartwizard &
- Java 应用找不到 LibreOffice 安装目录
- 启动参数增加:-Doffice.home=/opt/libreofficeX.Y(注意:不要加引号或尾部斜杠)
五 进阶配置与运维建议
- 多版本并存
- 不同版本默认安装到 /opt/libreofficeX.Y,通过绝对路径调用对应版本
- 使用 alternatives 或软链接统一命令入口(可选)
- 容器化部署
- 快速试用:docker pull libreoffice:7.3.5;docker run -it --rm --name libreoffice libreoffice:7.3.5
- 生产建议基于官方/可信镜像自行构建,挂载字体与缓存目录
- 性能与稳定性
- 转换密集型任务建议串行化或使用任务队列,避免并发过高导致转换失败
- 定期清理临时目录与用户配置缓存(~/.config/libreoffice)