name: file-to-markdown description: '将用户提供的各类文档文件转换为 Markdown 格式。当用户给出 docx、pptx、xlsx、pdf、html、csv、rtf、odt、epub、txt 等文件并要求转成 Markdown、提取正文、或"把我这个文件变成 md",即触发本技能。图片与扫描件 PDF 通过 OCR 技能识别后包装为 Markdown。' agent_created: true
把用户随手丢过来的各种文档(Word、PPT、Excel、PDF、网页、表格、RTF、ODT、EPUB、
纯文本)转换成干净、可读的 Markdown 文本。核心转换器是
scripts/convert_to_md.py,按文件扩展名自动路由到对应解析器,无需用户指定格式。
图片(png/jpg/...)与扫描件 PDF 没有可直接抽取的文字层,需先经 tencentcloud-ocr
技能做 OCR,再把识别结果整理为 Markdown(见下文「图片与扫描件」)。
转换器依赖若干 Python 第三方库,已安装在隔离 venv 中:
C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe发现更多技能插件,请访问7w4.net。
所需库:python-docx、python-pptx、openpyxl、xlrd、pdfplumber、html2text、
striprtf、odfpy、ebooklib。若某格式报错提示 ModuleNotFoundError,在该 venv 内
pip install 库名 即可,不影响其它格式。
单文件转换(默认在同目录生成 原名.md):
"C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe" \
"C:\Users\Administrator\.workbuddy\skills\file-to-markdown\scripts\convert_to_md.py" \
"用户给的文件路径.docx"
指定输出路径:附加 -o 输出.md。
批量转换整个目录(每个文件生成同名 .md;加 --recursive 递归子目录):
"...\python.exe" "...\file-to-markdown\scripts\convert_to_md.py" "目录路径" --recursive
路径含空格时必须用双引号包裹。Windows 上建议全程使用正斜杠或双反斜杠。
| 输入扩展名 | 处理方式 | 说明 |
|---|---|---|
.docx |
python-docx | 标题按样式映射为 #~######;粗体/斜体/下划线保留;列表与表格转为 Markdown |
.pptx |
python-pptx | 每页 ## Slide N 起头,含文本框、表格与备注 |
.xlsx |
openpyxl | 每个工作表 ## 表名 + Markdown 表格 |
.xls |
xlrd | 同上(旧版二进制格式) |
.pdf |
pdfplumber(退回 pypdf) | 文本型 PDF 按页抽取;扫描件报错并提示走 OCR |
.html/.htm |
html2text | 还原标题/列表/链接/表格;图片以链接占位 |
.csv/.tsv |
csv 模块 | 自动嗅探分隔符,输出 Markdown 表格 |
.rtf |
striprtf | 抽取纯文本 |
.odt |
odfpy | 抽取标题与段落 |
.epub |
ebooklib + html2text | 各章节内容合并为 Markdown |
.txt/.md |
直接读取 | 视为已合法 Markdown,原样输出 |
convert_to_md.py 遇到图片或扫描件 PDF 会主动跳过并打印提示。此时改用
tencentcloud-ocr 技能:
tencentcloud-ocr 技能对图片/扫描件做高精度文字识别,取得正文文本。.md)。若目标文件已存在,
会被覆盖——转换前确认无需保留旧版。这个技能能把各种文档(Word、PPT、Excel、PDF、网页等)转换成 Markdown 格式,支持的格式很丰富。文档写得很清楚,使用方法一目了然,转换失败时会给出明确提示。优点是功能齐全、操作简单;不足是依赖特定的 Python 环境,不支持 Mac/Linux 系统,部分格式(如 PDF)的转换效果可能不够理想。整体质量中规中矩,适合 Windows 用户使用。