习惯用 Markdown 却要交 Word?零成本解决方案:DIY 脚本 + Pandoc 搞定

习惯了 Markdown 的简洁高效,再面对 Word 满屏的格式按钮总觉得束手束脚 ------ 但工作里要交 Word 文档的场景又躲不开:客户要修订版方案、同事要可编辑的纪要、汇报材料得按模板排版...... 总不能为了格式放弃熟悉的写作方式吧?

笔者一直使用 MWeb Pro 写文章,导出 PDF 很方便,可转 Word 却卡了壳。软件虽支持借助 Pandoc 转换,自带的 "发布服务" 也给了示例脚本,但试了无数次都没成功:点了导出只调出终端却不执行任何命令,连报错信息都抓不到。不知道是配置没吃透,还是遇上了小 bug,折腾半天愣是没转出一个能用的 Word 文件。

后来索性换了思路:既然软件自带的功能走不通,不如直接用 Pandoc 命令行手动转?没想到这一尝试,反而找到了更加自主可控的方法,适用的范围也更广。

  • 1.下载并安装Pandoc
  • 2.DIY脚本实现md2docx
  • 3.使用方法及效果展示

1.下载并安装Pandoc

Pandoc下载地址:

选择最新的安装包下载,然后直接安装即可。

2.DIY脚本实现md2docx

打开MAC自带的terminal终端,编辑脚本文件vi md2docx.sh,输入脚本内容如下:

bash 复制代码
#!/bin/zsh

# 定义输出目录(可自定义)
OUTPUT_DIR="${HOME}/Documents/pandoc/"
mkdir -p "$OUTPUT_DIR"  # 确保目录存在

# 提示用户输入 Markdown 文件路径
echo "请输入 Markdown 文件的完整路径(例如:~/Documents/笔记.md):"
read md_path

# 检查文件是否存在
if [ ! -f "$md_path" ]; then
  echo "错误:文件不存在,请检查路径是否正确!"
  exit 1
fi

# 提取文件名(不含路径和 .md 后缀,作为 Word 标题)
filename=$(basename "$md_path" .md)

# 提取文件所在目录(用于资源路径,如图片)
file_dir=$(dirname "$md_path")

# 调用 Pandoc 转换
pandoc --resource-path="$file_dir" -s "$md_path" -o "${OUTPUT_DIR}${filename}.docx"

# 提示结果并打开输出目录
if [ $? -eq 0 ]; then  # 检查上一条命令是否成功执行
  echo "转换成功!Word 文件已保存至:${OUTPUT_DIR}${filename}.docx"
  open "$OUTPUT_DIR"
else
  echo "转换失败,请检查 Pandoc 是否安装或文件格式是否正确。"
fi

DIY脚本的最大好处是,你可以随意修改实现更个性化的需求,也可以支持你自己的Word模版。

3.使用方法及效果展示

需要给脚本赋予执行权限:

bash 复制代码
chmod +x md2docx.sh

然后直接执行上面的脚本,提示要输入文件的完整路径,也就是下面红框这里的文件路径。

小技巧是,根本不必输入,直接选择md文件直接拖拽到terminal窗口即可识别。

bash 复制代码
./md2docx.sh 

这样不但省去了人工输入的麻烦也保证了准确性,转换成功会自动弹出所在目录,方便直接查看转换效果,举例如下:

到此,就实现了通过免费的 Pandoc 加自制脚本,打破了 Markdown 与 Word 的格式壁垒,以后再也不用担心被催要 Word 文档了。