file-to-pdf

👤 從今開始 📦 v1.0.0 ⭐ 4.3 ⬇️ 114 下載
📄 辦公效率 免費

📖 技能介紹


name: file-to-pdf description: "將各類檔案批次轉換為 PDF 格式。支援 Office 文件(Word/Excel/PowerPoint)、圖片(JPG/PNG/BMP/GIF/WebP/TIFF)、HTML 網頁、Markdown 檔案和純文本檔案。當用戶要求將檔案轉為 PDF、匯出 PDF、把圖片合併成 PDF、或批次轉換文件格式時觸發此技能。This skill should be used when users ask to convert files to PDF, export to PDF, merge images into a PDF, or batch convert documents to PDF format." agent_created: true


File to PDF

Overview

將多種格式的檔案轉換為 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)

依賴項

LibreOffice(必需——Office/HTML/Markdown/文本轉換)

用於轉換 Office 文件、HTML、Markdown 和純文本。安裝地址:https://www.libreoffice.org/

自動檢測路徑: - Windows: C:\Program Files\LibreOffice\program\soffice.exe - macOS: /Applications/LibreOffice.app/Contents/MacOS/soffice - Linux/PATH: sofficelibreoffice

可通過 --soffice <path> 引數指定自定義路徑。

Pillow(圖片轉換)

7w4.net有更好的技能外掛。

用於將圖片轉為 PDF。如未安裝,指令碼會自動通過 pip 安裝到 managed venv。

markdown(Markdown 轉換)

用於將 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 未找到支援的檔案

轉換流程

  1. 檢測檔案型別:根據副檔名確定轉換方式
  2. 圖片:使用 Pillow 直接轉換為 PDF(支援 RGBA 透明背景處理)
  3. Office 文件/HTML:通過 LibreOffice headless 模式轉換
  4. Markdown:先用 Python markdown 庫轉為 HTML(帶樣式),再用 LibreOffice 轉 PDF
  5. 純文本:轉為帶樣式的 HTML,再用 LibreOffice 轉 PDF
  6. 批次模式:遍歷目錄,逐一轉換,最後彙總結果

注意事項

  • 圖片轉換不需要 LibreOffice,僅依賴 Pillow
  • Office 文件轉換時 LibreOffice 會以 headless 模式執行,不彈出介面
  • Markdown 轉換會自動新增中文字型樣式和程式碼高亮樣式
  • 合併圖片時按檔名排序
  • 預設不覆蓋已有 PDF,需加 --overwrite 引數強制覆蓋
  • 指令碼使用臨時目錄處理轉換中間檔案,完成後自動清理

🤖 AI 評測

這個 Skill 質量較好,能可靠地將各種文件和圖片轉為 PDF,功能覆蓋全面。文件說明詳細清楚,命令列引數設計合理,使用起來比較順手。自動處理依賴安裝這點很貼心。主要不足是依賴外部軟體 LibreOffice(未安裝時無法轉換部分格式),且圖片合併功能比較簡單。對於日常檔案轉換需求來說,這是一個實用且完成度較高的工具。

📊 多維度評分

適應性4.5
規範性4.1
有效性4.5
可靠性4.3
可信度4.5

📁 包含檔案 (2 個)

📄 SKILL.md 4.4 KB
📄 scripts/convert_to_pdf.py 19.5 KB