在CentOS上进行文件格式转换前,需先安装LibreOffice。推荐通过系统包管理器yum安装,步骤如下:
sudo yum update -ysudo yum install libreoffice -y若需安装特定版本,可从LibreOffice官网下载RPM安装包,解压后通过yum localinstall命令安装。
LibreOffice提供soffice命令行工具,支持多种格式转换。常用示例如下:
libreoffice --headless --convert-to pdf input.docxlibreoffice --headless --convert-to csv:xls_csv_Export input.xlsxlibreoffice --headless --convert-to pdf:writer_pdf_Export input.pptxlibreoffice --headless --convert-to docx:writer_word_Export input.pdflibreoffice --headless --convert-to xlsx:calc_excel_Export input.pdf注:--headless表示无图形界面运行,--convert-to指定目标格式(格式为输出格式:导出模块)。
若需转换多个文件,可结合find命令与循环实现:
find . -name "*.docx" | while read file; do
libreoffice --headless --convert-to pdf "$file"
done
find . -name "*.xlsx" | while read file; do
libreoffice --headless --convert-to csv --outdir ./output "$file"
done
确保输出目录存在,避免转换失败。
unoconv是基于LibreOffice的命令行工具,支持更多自定义选项,安装与使用步骤如下:
sudo yum install unoconv -yunoconv -f pdf example.docxunoconv -f csv example.xlsxunoconv -f pdf example.pptxunoconv会自动调用LibreOffice服务,无需手动启动soffice。
/usr/share/fonts目录,运行fc-cache -fv更新字体缓存。chmod命令修改权限(如chmod +x script.sh)。--outdir指定输出目录查看转换结果。--headless模式适用于服务器环境,无需安装桌面环境。nohup命令),避免阻塞当前会话。