Skip to main content

markitdown-converter

Convert documents (PDF, Word, Excel, PPT, images, audio) to Markdown using Microsoft MarkItDown. Full workflow: format detection, conversion, OCR, LLM image description, batch processing. Use when user mentions document conversion, PDF to markdown, Word to markdown, OCR, 文档转换, PDF转Markdown, Word转换, 文件格式转换.

Source facts

Repository
zunyiqingfeng-code/skills
Last source activity
August 21, 2026 at 14:34
Detected SKILL.md language
Chinese
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
11 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
markitdown-converter
description
Convert documents (PDF, Word, Excel, PPT, images, audio) to Markdown using Microsoft MarkItDown. Full workflow: format detection, conversion, OCR, LLM image description, batch processing. Use when user mentions document conversion, PDF to markdown, Word to markdown, OCR, 文档转换, PDF转Markdown, Word转换, 文件格式转换.
trigger-keywords
["markdown转换工具","文件转markdown工具","markitdown","文档转换","文件转换","PDF转markdown","Word转markdown","Excel转markdown","PPT转markdown","图片转markdown","音频转markdown","批量转换","OCR识别","文档格式转换","文件格式转换","文本提取"]
# MarkItDown转换技能 基于Microsoft MarkItDown的文档转换系统,为OpenCode提供强大的文档处理能力。 ## 核心功能 1. **多格式支持**:PDF、Word (.docx)、Excel (.xlsx)、PowerPoint (.pptx)、图片、音频、HTML、文本等格式 2. **高质量转换**:保留文档结构、表格、列表、链接等Markdown元素 3. **高级功能集成**: - **OCR图像文字识别**:提取图片和PDF中的文字 - **Azure Document Intelligence**:云端文档分析服务 - **LLM图像描述**:使用GPT-4o等模型描述图片内容 - **音频转录**:提取音频文件中的文字 - **插件系统**:支持第三方插件扩展 4. **批量处理**:支持文件夹批量转换和ZIP文件处理 5. **配置灵活**:支持命令行参数和Python API两种使用方式 ## 技术特性 - 基于Microsoft官方MarkItDown项目 (https://github.com/microsoft/markitdown) - 轻量级Python工具,专注于保留文档结构 - 输出为高质量的Markdown格式,适合LLM处理 - 完善的错误处理和进度提示 - 支持本地文件和网络URL ## 自动检测规则 当以下情况出现时自动触发文档转换: 1. **文件路径检测**:消息中包含`.pdf`、`.docx`、`.xlsx`、`.pptx`、`.jpg`、`.png`等扩展名 2. **转换关键词**:用户明确请求文档转换、格式转换、Markdown转换 3. **上下文感知**:在讨论文档处理、文本提取相关内容时自动提供转换服务 ## 使用方法 ### 基本文件转换 ```python # 导入技能脚本 import sys sys.path.insert(0, "SKILL_DIR/scripts") from markitdown_wrapper import convert_file # 单文件转换 result = convert_file("document.pdf", output_path="document.md") # 批量转换 from markitdown_wrapper import batch_convert batch_convert("input_folder/", "output_folder/") ``` ### 命令行使用 ```bash # 单文件转换 python scripts/markitdown_wrapper.py convert document.pdf -o document.md # 批量转换文件夹 python scripts/markitdown_wrapper.py batch input_folder/ output_folder/ # 使用高级选项 python scripts/markitdown_wrapper.py convert document.pdf --use-ocr --llm-model gpt-4o ``` ### 高级功能 ```python from markitdown_wrapper import MarkItDownWrapper # 创建转换器实例 wrapper = MarkItDownWrapper( enable_plugins=True, # 启用插件系统 use_ocr=True, # 启用OCR llm_model="gpt-4o", # LLM图像描述模型 docintel_endpoint="https://..." # Azure Document Intelligence ) # 转换文件 result = wrapper.convert("document_with_images.pdf", output_path="output.md") ``` ## 支持的文件格式 | 格式 | 扩展名 | 特性 | |------|--------|------| | PDF | .pdf | 文字提取、OCR图像识别 | | Word文档 | .docx | 保留样式、表格、列表 | | Excel表格 | .xlsx, .xls | 表格数据转换 | | PowerPoint | .pptx | 幻灯片内容提取 | | 图片文件 | .jpg, .png, .gif, .bmp | OCR文字识别、LLM图像描述 | | 音频文件 | .mp3, .wav | 语音转文字 | | HTML网页 | .html | 网页内容提取 | | 文本文件 | .txt, .csv, .json, .xml | 直接转换 | | ZIP压缩包 | .zip | 批量处理内部文件 | | YouTube视频 | URL | 字幕提取 | ## 配置说明 ### 基本依赖安装 ```bash pip install 'markitdown[all]' ``` ### 可选依赖(按需安装) ```bash # 仅安装基本功能 pip install markitdown # 按格式安装 pip install 'markitdown[pdf]' # PDF支持 pip install 'markitdown[docx]' # Word支持 pip install 'markitdown[pptx]' # PowerPoint支持 pip install 'markitdown[xlsx]' # Excel支持 pip install 'markitdown[ocr]' # OCR支持 pip install 'markitdown[audio]' # 音频转录 ``` ### 插件安装 ```bash # 安装OCR插件 pip install markitdown-ocr # 启用插件 from markitdown import MarkItDown md = MarkItDown(enable_plugins=True) ``` ## 示例输出 ``` [MarkItDown转换结果] (耗时3.2秒 | 文件: document.pdf) ------------------------------------------------------------ # 示例文档标题 这是一个示例PDF文档转换为Markdown的展示。 ## 第一章 介绍 MarkItDown能够很好地保留文档的结构: 1. 列表项一 2. 列表项二 3. 列表项三 ### 表格示例 | 列1 | 列2 | 列3 | |-----|-----|-----| | 数据1 | 数据2 | 数据3 | | 数据4 | 数据5 | 数据6 | **重要提示**:转换结果保持了原始文档的层级结构和格式元素。 ------------------------------------------------------------ ``` ## 高级功能详解 ### OCR图像文字识别 ```python from markitdown_wrapper import convert_with_ocr # 使用OCR转换图片或PDF result = convert_with_ocr( "scanned_document.pdf", llm_client=OpenAI(), llm_model="gpt-4o" ) ``` ### Azure Document Intelligence ```python # 使用Azure云端服务 result = convert_with_azure( "document.pdf", endpoint="https://your-endpoint.cognitiveservices.azure.com/", api_key="your-api-key" ) ``` ### 批量处理 ```python from markitdown_wrapper import BatchProcessor processor = BatchProcessor( input_dir="documents/", output_dir="markdown/", recursive=True, # 递归处理子文件夹 file_patterns=["*.pdf", "*.docx"] # 指定文件类型 ) processor.process() # 开始批量转换 ``` ## 错误处理 系统会优雅处理各种错误情况: - 文件不存在或无法访问 - 不支持的格式 - 转换过程中断 - 依赖缺失 - API调用失败 所有错误都会提供友好的中文提示和解决方案建议。 ## 性能优化 1. **缓存系统**:相同文件的转换结果可选择性缓存 2. **批量处理**:支持文件夹批量转换,减少重复操作 3. **并发支持**:批量处理时可选择并行转换 4. **进度显示**:显示转换进度和预估时间 ## 集成提示 本技能设计为与OpenCode无缝集成: - 自动检测对话中的文档转换需求 - 与现有工具和技能协同工作 - 保持OpenCode的对话风格和用户体验 - 提供有价值的文档处理能力增强 ## 注意事项 - **文件大小**:大文件转换可能需要较长时间 - **OCR精度**:图像文字识别精度取决于图片质量 - **格式兼容**:某些复杂格式可能无法完美转换 - **依赖管理**:建议使用虚拟环境管理依赖
View on GitHub