用途:把 Markdown 文档转换为苹果设计风格的专业 PDF 白皮书,适合技术文档、白皮书、教程、报告等需要专业排版的场景。
主要能力:书籍级排版,自动处理分页与孤行寡行;采用 SF 字体系统与专业配色;自动提取章节结构生成双列可点击目录;支持代码块、表格、引用、列表等完整 Markdown 语法;自动生成封面、目录、页眉页脚。
使用方式:先安装依赖 pip3 install markdown2 weasyprint(macOS 若安装失败可先 brew install pango)。基础转换:python scripts/convert.py input.md;指定输出:python scripts/convert.py input.md -o "我的白皮书.pdf";自定义标题作者:python scripts/convert.py input.md --title "技术白皮书" --author "花叔"。图片相对路径按 md 文件所在目录解析,找不到会打印警告。
目录提取要求章节格式为 ## 1. 标题 与 ### 1.1 标题。样式可在 scripts/convert.py 中修改 CSS 变量(如 PRIMARY_COLOR、BODY_SIZE 等)。
限制:某些环境下 macOS「预览」打开生成的 PDF 会乱码(浏览器正常),原因未定位,暂无解决办法;不要用 weasyprint 的 full_fonts=True 绕过,实测会使文件暴涨且仍乱码。可尝试升级 weasyprint 或改用非 collection 字体。PDF 过大时可压缩图片或使用外链。