习惯了 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 文档了。