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(图片转换)

用于将图片转为 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

🔥 大家都在搜

wps 写作 pdf 苹果