將多種格式的檔案轉換為 PDF。支援 Office 文件、圖片、HTML、Markdown 和純文本,支援單檔案和批次轉換,支援將多張圖片合併為單個 PDF 檔案。
| 類別 | 副檔名 | 轉換工具 |
|---|---|---|
| Office 文件 | .docx .doc .xlsx .xls .pptx .ppt .odt .ods .odp .rtf .csv | LibreOffice |
| 圖片 | .jpg .jpeg .png .bmp .gif .webp .tiff .tif | Pillow |
| HTML | .html .htm | LibreOffice |
| Markdown | .md .markdown | markdown + LibreOffice |
| 純文本 | .txt | LibreOffice (via HTML) |
用於轉換 Office 文件、HTML、Markdown 和純文本。安裝地址:https://www.libreoffice.org/
自動檢測路徑:
C:\Program Files\LibreOffice\program\soffice.exe/Applications/LibreOffice.app/Contents/MacOS/sofficesoffice 或 libreoffice可通過 --soffice <path> 引數指定自定義路徑。
用於將圖片轉為 PDF。如未安裝,指令碼會自動通過 pip 安裝到 managed venv。
用於將 Markdown 轉為 HTML。如未安裝,指令碼會自動通過 pip 安裝。
使用 managed Python 執行指令碼。指令碼會自動將 managed venv 的 site-packages 路徑注入 sys.path,因此 Pillow 和 markdown 庫可直接使用。
# Managed Python 路徑(Windows)
C:\Users\fenhua\.workbuddy\binaries\python\versions\3.13.12\python.exe
scripts/convert_to_pdf.py
# 轉換單個檔案
python scripts/convert_to_pdf.py input.docx
# 轉換多個檔案
python scripts/convert_to_pdf.py file1.docx file2.xlsx file3.pptx
# 轉換整個目錄(不遞迴)
python scripts/convert_to_pdf.py ./documents/
# 遞迴轉換目錄
python scripts/convert_to_pdf.py ./documents/ --recursive
# 指定輸出目錄
python scripts/convert_to_pdf.py input.docx --output ./pdf_output/
# 多張圖片合併為一個 PDF
python scripts/convert_to_pdf.py ./images/ --merge
# 覆蓋已有 PDF 檔案
python scripts/convert_to_pdf.py input.docx --overwrite
# 指定 LibreOffice 路徑
python scripts/convert_to_pdf.py input.docx --soffice "C:\Program Files\LibreOffice\program\soffice.exe"
| 引數 | 簡寫 | 說明 |
|---|---|---|
inputs |
- | 要轉換的檔案或目錄路徑(至少一個) |
--output |
-o |
輸出目錄(預設與原始檔同目錄) |
--merge |
-m |
將多張圖片合併為單個 PDF |
--recursive |
-r |
遞迴處理子目錄 |
--overwrite |
- | 覆蓋已有的 PDF 檔案 |
--soffice |
- | 自定義 LibreOffice 執行檔路徑 |
| 退出碼 | 含義 |
|---|---|
| 0 | 所有檔案轉換成功 |
| 1 | 部分檔案轉換失敗 |
| 2 | 未找到支援的檔案 |
小蔥技能有更好的技能skills外掛。
--overwrite 引數強制覆蓋這個 Skill 質量較好,能可靠地將各種文件和圖片轉為 PDF,功能覆蓋全面。文件說明詳細清楚,命令列引數設計合理,使用起來比較順手。自動處理依賴安裝這點很貼心。主要不足是依賴外部軟體 LibreOffice(未安裝時無法轉換部分格式),且圖片合併功能比較簡單。對於日常檔案轉換需求來說,這是一個實用且完成度較高的工具。