CentOS下使用LibreOffice進行文檔格式轉換的完整指南
在CentOS系統中,首先需要安裝LibreOffice(開源辦公套件,支持多種格式轉換)。打開終端,執行以下命令:
sudo yum update -y && sudo yum install libreoffice -y
安裝完成后,可通過libreoffice --version
驗證是否安裝成功。
LibreOffice提供soffice
(或libreoffice
)命令行工具,無需打開圖形界面即可完成轉換。常見場景如下:
將.docx
(或.doc
)文件轉換為PDF,命令格式為:
soffice --headless --convert-to pdf:writer_pdf_Export /path/to/input.docx
--headless
:啟用無頭模式(無需顯示界面);--convert-to
:指定目標格式及導出器(writer_pdf_Export
為Word轉PDF的專用導出器);/path/to/input.docx
:輸入文件的絕對或相對路徑。將.xlsx
(或.xls
)文件轉換為CSV(逗號分隔值),命令格式為:
soffice --headless --convert-to csv:xls_csv_Export /path/to/input.xlsx
csv:xls_csv_Export
:指定目標格式為CSV,并使用Excel的CSV導出器。將.pptx
(或.ppt
)文件轉換為PDF,命令格式為:
soffice --headless --convert-to pdf:writer_pdf_Export /path/to/input.pptx
(注:PPT轉PDF的導出器與Word相同,均為writer_pdf_Export
)
若需要轉換多個文件(如當前目錄及子目錄下的所有.docx
文件),可結合find
命令與循環實現:
find /path/to/input_dir -name "*.docx" | while read file; do
soffice --headless --convert-to pdf "$file"
done
find /path/to/input_dir -name "*.docx"
:查找輸入目錄下所有.docx
文件;while read file; do ... done
:逐行讀取文件路徑并執行轉換。若需將轉換后的文件保存到指定目錄(如/path/to/output_dir
),可修改命令如下:
OUTPUT_DIR="/path/to/output_dir"
mkdir -p "$OUTPUT_DIR" # 創建輸出目錄(若不存在)
find /path/to/input_dir -name "*.docx" | while read file; do
soffice --headless --convert-to pdf --outdir "$OUTPUT_DIR" "$file"
done
--outdir "$OUTPUT_DIR"
:指定輸出目錄;mkdir -p "$OUTPUT_DIR"
:確保輸出目錄存在(-p
參數避免目錄不存在時報錯)。unoconv
是基于LibreOffice的命令行工具,簡化了部分操作,適合頻繁轉換的場景。
sudo yum install unoconv -y
安裝完成后,可通過unoconv --version
驗證。
將Word文檔轉換為PDF:
unoconv -f pdf /path/to/input.docx
-f pdf
:指定目標格式為PDF;/path/to/input.docx
:輸入文件路徑。文泉驛微米黑
、思源黑體
),并將字體文件復制到/usr/share/fonts
目錄,然后執行fc-cache -fv
更新字體緩存。&
符號),避免阻塞當前終端:soffice --headless --convert-to pdf /path/to/large_file.docx &
.xls
)可能存在兼容性問題,建議轉換前測試。--headless
模式,否則會彈出圖形界面,影響自動化流程。通過以上步驟,可在CentOS系統中高效使用LibreOffice完成文檔格式轉換,滿足日常辦公或自動化處理需求。