SuperAPI AI 工具集

md-to-docx

办公与效率

查看项目

更新于 10-16 08:56

技能介绍

用途

md-to-docx 用于将 Markdown 文件转换为格式规范的 Word 文档(.docx),底层依赖 pandoc。它面向需要把 Markdown 内容输出为 Word 文档的场景,尤其是中文文档,默认提供符合中文排版习惯的模板。

主要能力

  • 标题与文本格式:支持 H1–H6 标题、加粗、斜体、删除线。
  • 列表:支持有序列表、无序列表以及嵌套列表。
  • 表格:支持带格式的表格。
  • 图片:自动嵌入图片。
  • 链接与引用:支持链接和引用。
  • 代码:支持代码块与行内代码。
  • 中文标点保留:保留 。,""();!? 等中文标点。
  • 引用上标:自动将引用编号转换为上标格式,例如 文献1。→ 文献¹。,适用于学术文档。
  • 默认中文模板:所有中文文本(正文、标题、副标题)使用仿宋字体,英文使用 Times New Roman,全部文字为黑色,1.5 倍行距,首行缩进两字符(24pt,精确对齐),标题后间距 1 行(12pt),标题不使用斜体。

使用方式

使用前需在环境中安装依赖:

  • pandoc(必需):
    • macOS:brew install pandoc
    • Linux(Debian/Ubuntu):sudo apt-get install pandoc
    • Windows:choco install pandoc
  • python-docx(创建模板所需):pip install python-docx

验证 pandoc 安装:pandoc --version

转换流程:

  1. 运行 pandoc --version 检查 pandoc 是否已安装;若未安装,按上述方式安装。
  2. 确定输入与输出文件;若用户未指定输出文件名,需询问确认,并建议使用有意义的名称(如输入 report.md,建议输出 report.docx)。
  3. 使用 Bash 工具运行转换脚本: python .claude/skills/md-to-docx/convert_md_to_docx.py input.md output.docx
  4. 按需添加选项:
    • --toc:生成目录(默认不生成目录)
    • --no-chinese-template:不使用仿宋字体模板
    • --no-superscript-citations:禁用引用编号自动上标转换
    • --reference-doc template.docx:使用自定义样式模板
    • --title、--author、--date:设置文档元数据
  5. 批量转换: python .claude/skills/md-to-docx/convert_md_to_docx.py --batch input_dir/ output_dir/
  6. 验证转换成功,并告知用户输出位置。

默认行为:除非指定 --no-chinese-template,脚本会自动使用仿宋中文字体模板。

示例:

  • 单文件转换(使用默认中文模板): python .claude/skills/md-to-docx/convert_md_to_docx.py "教育改革方案.md" "教育改革方案.docx"
  • 带目录转换(可选,默认无目录): python .claude/skills/md-to-docx/convert_md_to_docx.py report.md report.docx --toc
  • 带元数据转换: python .claude/skills/md-to-docx/convert_md_to_docx.py paper.md paper.docx --title "研究报告" --author "张三" --date "2025-11-20"
  • 批量转换: python .claude/skills/md-to-docx/convert_md_to_docx.py --batch ./markdown_files/ ./word_docs/
  • 使用自定义模板: python .claude/skills/md-to-docx/convert_md_to_docx.py doc.md doc.docx --reference-doc company_template.docx

命令行选项参考:

  • input.md:输入 Markdown 文件路径
  • output.docx:输出 Word 文档路径
  • --toc:生成目录(默认不生成)
  • --no-chinese-template:不使用默认中文字体模板
  • --no-superscript-citations:不将引用编号转换为上标
  • --reference-doc FILE:使用自定义 Word 模板设置样式
  • --title TEXT:设置文档标题元数据
  • --author TEXT:设置文档作者元数据
  • --date TEXT:设置文档日期元数据
  • --batch:启用批量转换模式
  • --pattern PATTERN:批量模式的文件匹配模式(默认 *.md)

适用场景

  • 将中文 Markdown 文档转换为符合中文排版规范的 Word 文档。
  • 学术文档转换,需要引用编号自动上标。
  • 批量将目录下的 Markdown 文件转换为 Word 文档。
  • 需要使用组织自定义 Word 模板统一风格的场景。

限制与注意事项

  • 依赖 pandoc 与 python-docx,使用前必须安装。
  • 图片不显示时,需检查 Markdown 中的图片路径是否正确(建议使用相对于 Markdown 文件位置的相对路径),并确认图片文件存在。
  • 表格格式问题需检查 Markdown 表格语法是否正确。
  • 脚本执行错误时,需确保脚本有执行权限(chmod +x convert_md_to_docx.py),并在所有文件路径中使用正斜杠(Unix 风格)。
  • 中文文档建议:Markdown 文件使用 UTF-8 编码;使用规范中文标点;默认模板对中文文本使用仿宋、黑色、1.5 倍行距、首行缩进两字符、标题后 1 行间距、标题不加斜体。
  • 引用上标仅转换直接跟在中文或字母后、且位于句末标点(。;)之前的 1–60 的数字。
  • 默认不生成目录,需通过 --toc 添加。

附带文件

  • README.md:详细使用指南与示例
  • 快速使用指南.md:中文快速入门指南
  • convert_md_to_docx.py:主转换脚本,含自动后处理
  • create_chinese_template.py:创建自定义中文模板的工具
  • fix_heading_fonts.py:字体与间距修复的后处理脚本
  • chinese_template.docx:默认中文字体模板(仿宋、1.5 倍行距、标题间距)