bruce-doc-converter
双向文档转换工具,将 Word (.docx)、Excel (.xlsx)、PowerPoint (.pptx) 和 PDF (.pdf) 转换为 AI 友好的 Markdown 格式,或将 Markdown (.md) 转换为 Word (.docx) 格式。当用户请求以下操作时使用:(1) 明确请求文档转换,包括任何包含"转换"、"转为"、"转成"、"convert"、"导出"、"export"等词汇的请求(例如:"转换文档"、"把这个文件转为docx"、"convert to markdown"、"导出为Word");(2) 需要 AI 理解文档内容("帮我分析这个 Word 文件"、"读取这个 PDF"、"总结这个 Excel");(3) 上传文档文件并询问内容("这是什么"、"帮我看看");(4) 任何涉及 .docx、.xlsx、.pptx、.pdf、.md 文件格式转换的请求。
install
source · Clone the upstream repo
git clone https://github.com/bruc3van/bruce-doc-converter
Claude Code · Install into ~/.claude/skills/
git clone --depth=1 https://github.com/bruc3van/bruce-doc-converter ~/.claude/skills/bruc3van-bruce-doc-converter-bruce-doc-converter
manifest:
SKILL.mdsource content
Bruce Doc Converter
双向文档转换工具,将 Word (.docx)、Excel (.xlsx)、PowerPoint (.pptx) 和 PDF (.pdf) 转换为 AI 友好的 Markdown 格式,或将 Markdown (.md) 转换为 Word (.docx) 格式。
Quick Reference
Linux/macOS:
| 操作 | 命令 | 输出位置 |
|---|---|---|
| Office/PDF → Markdown | | 同目录 |
| Markdown → Word | | 同目录 |
| 批量转换 | | 同上 |
Windows: 见下方 跨平台执行方式
工作流程
用户请求转换 → 直接运行 bash convert.sh → 解析 JSON 输出 → 处理结果
关键原则:
- 不要预先检查任何依赖(Python 库、Node.js 等)
- 直接执行转换命令
- 只在转换失败(
)时才根据错误信息处理success: false
执行命令
跨平台执行方式
重要:根据运行环境选择正确的执行方式:
| 环境 | 推荐命令 | 说明 |
|---|---|---|
| Linux/macOS | | 使用 bash 执行(无需执行权限) |
| Windows PowerShell | | 推荐方式,支持 UTF-8 编码 |
| Windows Git Bash | | 在 Git Bash 中调用 PowerShell |
| Windows CMD | | 传统方式,可能有编码问题 |
Claude Code 中的最佳实践:
- 在 Windows 环境(包括 Git Bash)中,始终使用 PowerShell 执行:
powershell.exe -Command "Set-Location '<skill-dir>'; .\convert.ps1 'c:\path\to\file.docx'" - 路径中包含空格时,使用单引号包裹
- 使用
而不是Set-Location
,避免 PowerShell 语法错误cd
替换为实际的 skill 目录路径(例如<skill-dir>
)C:\Users\<YourName>\.claude\skills\bruce-doc-converter-skill
命令示例
# 单文件转换(依赖自动安装) bash convert.sh /path/to/document.docx # 自定义输出目录 bash convert.sh /path/to/file.pdf true /custom/output # 批量转换 bash convert.sh --batch /path/to/documents
解析输出
脚本返回 JSON,关键字段:
{ "success": true, "output_path": "/path/to/output.md", "markdown_content": "# 转换后的内容..." }
: 转换是否成功success
: 输出文件路径output_path
: Markdown 内容(方便直接分析)markdown_content
: 错误信息(失败时)error
错误处理
仅在转换失败时(返回
)才处理错误:success: false
| 错误类型 | 处理方法 |
|---|---|
| Python 依赖缺失 | 脚本会自动安装,如失败则运行 |
| 仅在 MD→DOCX 转换失败且报此错误时,才提示安装 Node.js |
| 脚本会自动安装到用户级共享目录;失败时在 或共享目录运行 |
| 提示用户验证文件路径 |
| 提示用户先转换为 .docx |
| 提示超过 100MB 限制 |
支持的格式
| 格式 | 转换方向 | 质量 |
|---|---|---|
| .docx | ↔ | 优秀 |
| .xlsx | → | 优秀 |
| .pptx | → | 良好 |
| → | 取决于 PDF 类型 | |
| .md | ↔ | 优秀 |
注意事项
重要:
- 绝对不要在执行转换前检查任何依赖(包括 Python、Node.js、npm 包等)
- 直接执行转换命令,让脚本自己检测和处理依赖
- 只在转换失败时才根据返回的错误信息采取行动
其他:
- Python 依赖会自动安装到用户目录
- Node.js 依赖会自动安装到用户级共享目录(可用
指定)BRUCE_DOC_CONVERTER_NODE_HOME - 默认共享目录:macOS/Linux
,Windows~/.bruce-doc-converter/node/md_to_docx%LOCALAPPDATA%\BruceDocConverter\node\md_to_docx - .doc/.xls/.ppt 旧格式需先转换为对应的新格式