在CentOS上进行文件转换前,需先安装LibreOffice。打开终端,执行以下命令更新系统包并安装:
sudo yum update -y
sudo yum install libreoffice -y
安装完成后,可通过libreoffice --version验证是否安装成功。
使用libreoffice命令的--headless(无图形界面)和--convert-to(指定输出格式)参数进行转换:
libreoffice --headless --convert-to pdf /path/to/input.docx
将Excel文档转换为CSV:libreoffice --headless --convert-to csv:Text\ CSV /path/to/input.xlsx
将PPT文档转换为PDF:libreoffice --headless --convert-to pdf /path/to/input.pptx
--outdir参数设置输出路径(需提前创建目录):libreoffice --headless --convert-to pdf --outdir /path/to/output /path/to/input.docx
若需转换多个文件(如当前目录及子目录下所有.docx文件),可使用find命令结合循环:
find /path/to/input_dir -name "*.docx" | while read file; do
libreoffice --headless --convert-to pdf "$file"
done
说明:
/path/to/input_dir:替换为输入文件所在目录;*.docx:可替换为.xlsx、.pptx等其他格式;--outdir时)。| 输入格式 | 输出格式 | 命令示例 |
|---|---|---|
| Word(.docx) | libreoffice --headless --convert-to pdf /path/to/input.docx |
|
| Excel(.xlsx) | CSV | libreoffice --headless --convert-to csv:Text\ CSV /path/to/input.xlsx |
| PPT(.pptx) | libreoffice --headless --convert-to pdf /path/to/input.pptx |
|
| Word(.docx) | libreoffice --headless --convert-to docx:writer_word_Export /path/to/input.pdf |
|
| Excel(.xlsx) | libreoffice --headless --convert-to xlsx:calc_excel_Export /path/to/input.pdf |
中文乱码问题:
若转换后出现中文乱码,需安装中文字体(如思源黑体、微软雅黑)。下载字体后,解压并将字体文件复制到/usr/share/fonts目录,执行fc-cache -fv更新字体缓存。
权限问题:
确保当前用户对输入文件有读取权限,对输出目录有写入权限。若需修改权限,可使用chmod命令(如chmod +r /path/to/input.docx)。
格式兼容性:
LibreOffice支持绝大多数常见格式,但部分特殊格式(如旧版.doc、.xls)可能存在兼容性问题。转换前建议测试少量文件,确认效果。
性能优化:
批量转换大文件时,建议在后台运行命令(如添加&符号),避免阻塞终端。例如:
libreoffice --headless --convert-to pdf /path/to/input.docx &
无图形界面环境:
若服务器未安装图形界面(如CentOS Minimal版),必须使用--headless模式,否则无法正常转换。