我开源了一个Markdown转PDF工具
本文共 833 字,阅读预计需要 2 分钟。
Hi,你好,我是Carl,一个本科进大厂做了2年+AI研发后,裸辞的AI创业者。
| 写了一篇技术文档,发给甲方。对方说:「能不能转成PDF?我们电脑没有Markdown编辑器。」你手动复制到Word,调格式调了半小时,图片还丢了。 |
|---|
这篇文章分享一个我开源的一个小工具:
Carl-AI-Lab/MarkdownToPDF
一行命令解决这个问题。
之所以会做这个小工具,是我在私发前面的「市场调研工作流」资料时,许多小白并没有markdown编辑器,而且markdown文档在手机上阅读也并不方便。
Markdown 是程序员的「母语」。写文档、写博客、写需求,全靠它。
但一旦要把 .md 文件发给非技术同事、客户、甲方,问题就来了:
对方电脑没装 Markdown 编辑器,打开是一堆 # 和 *
复制到 Word,代码块样式全崩,图片链接失效
用在线转换器,排版像被狗啃过
我自己被折磨过几次后,决定写个工具一劳永逸。
一开始我考虑转 Word(.docx)。写了一版基于 Pandoc 的脚本,能跑,但效果一般:
样式高度依赖 reference.docx 模板
复杂表格、代码高亮经常「水土不服」
不同版本 Word 打开,排版可能不一致
后来换成转 PDF,效果好太多:
用浏览器渲染 HTML,再「打印」成 PDF
样式稳定,所见即所得
图片直接嵌入,跨平台分发零障碍
所以我主推 MarkdownToPDF,Word 版本作为备选保留。
转为PDF的效果:
整个工具就一个 Python 脚本,用 Playwright(Chromium 内核)做渲染。
安装依赖
| Bash pip install -r requirements.txt python3 -m playwright install_deps chromium python3 -m playwright install chromium |
|---|
单文件转换
| Bash python3 convert_md_to_pdf_playwright.py -i input.md -o output.pdf |
|---|
批量转换
不带参数运行,自动递归扫描当前目录下所有 .md 文件:
| Bash python3 convert_md_to_pdf_playwright.py |
|---|
工具已开源,欢迎使用和反馈。
我是Carl,我们下期再见