Markdown 转 PDF:功能介绍
Markdown 写起来很顺手,但不写代码的读者更想收到一份文档,而不是满屏井号和星号的文件。这个工具用 MIT 许可的开源库 marked 解析你的 Markdown,遵循 CommonMark 规范,并支持 GitHub 的两项扩展:表格和删除线。解析后的文档会以统一、易读的样式排版到 A4 或 Letter 页面上。
会被排版的元素
- 标题、段落、粗体、斜体和删除线
- 行内代码,以及用等宽字体排在浅灰底色上的围栏代码块
- 无序列表、有序列表和嵌套列表
- 引用块和水平分隔线
- 表格,绘制为简洁的网格
- 链接,在 PDF 中仍可点击
外观是固定的:没有主题可选,也无法套用你自己的 CSS。你能控制的只有纸张尺寸和正文基础字号。这样工具用起来快,输出也一致,适合讲义、技术文档和报告,而不太适合讲究设计的宣传册。
Markdown 转 PDF:使用步骤
- 打开 .md 文件选择一个 Markdown 文件,或者把它拖到工具上。笔记应用、Wiki 和代码仓库导出的文件都可以,只要使用的是标准 Markdown 语法。
- 设置纸张和基础字号选择 A4 或 Letter,再选择正文的基础字号。字号小一些,较宽的表格或较长的代码行就能在页面上横向放下更多内容。
- 渲染并下载生成 PDF 并保存。发出去之前先打开看一遍,检查标题、表格和图片占位符。
常见使用场景
把 README 发给仓库以外的人
用 Markdown 写的项目部署说明,可以转成 PDF 发给客户或上司,在哪里都能打开:安装步骤是编号列表,命令放在带底色的代码块里。
把会议记录做成讲义
用 Markdown 快速记下的会议笔记,每个议题一个标题,决定事项用项目符号,负责人和日期列成一个小表格,转换后就是一页可以在下次会议上分发的打印稿。
在纯文本编辑器里写的课程作业
课程平台只收 PDF,而你习惯用 Markdown 写作。把定稿转换一下,上传的文档里标题、引文和参考链接都保持原有格式。
为什么图片显示为占位符
Markdown 通过路径或网址引用图片,例如 。本页不会加载站外的文件,所以被引用的图片不会被获取。PDF 会在原位置显示一个 [image: 替代文字] 占位符,内容取自方括号中的描述,让读者知道那里原本有一张图。所以在 Markdown 里写好有意义的替代文字是值得的。
如果图片很重要,可以先用 JPG 转 PDF 或 PNG 转 PDF 把图片做成 PDF,再用合并 PDF 与渲染好的文字合在一起。
各种语言及其所用字体
英文和其他使用拉丁字母的语言采用 Helvetica 和 Courier,这是每个 PDF 阅读器都自带的标准字体,因此无需嵌入。希腊字母和西里尔字母使用 Roboto 排版,中文和日文使用 Droid Sans Fallback;这两种字体都采用 Apache-2.0 许可,并以子集形式嵌入,只包含文档实际用到的字符。这款中日文字体需要下载约 4 MB,只有当 Markdown 中确实含有这类字符时,浏览器才会去下载。
韩文谚文不在这两种字体的覆盖范围内,会显示为问号。阿拉伯文、希伯来文等从右到左书写的文字,以及印地文、泰文这类复杂文字,都无法正确排版。这些语言的文档,用支持它们的文字处理软件或浏览器转成 PDF 会更合适。
输出的质量和大小
PDF 中的所有文字都是矢量文字:任意缩放都清晰,可以搜索和复制。由于不嵌入图片、字体也做了子集化,一份典型的 Markdown 文档生成的文件很轻巧,方便用邮件发送。在支持链接的阅读器里,链接依然有效。如果打印版需要页码,可以把结果再用添加 PDF 页码处理一遍。
不会被渲染的语法
- 图片:如上所述会变成占位符。
- 自定义样式:自定义 CSS、主题、颜色和字体选择。
- CommonMark 之外的扩展(GitHub 表格和删除线除外)。脚注、数学公式和以代码形式书写的图表都不在支持范围内,你会看到它们的源文本,而不是渲染后的效果。
- 纯文本文件。如果你的文件其实不是 Markdown,TXT 转 PDF 会把每一行、每个空格都原样保留。
解析和页面排版都在这个浏览器标签页中运行;Markdown 文件和生成的 PDF 都留在你的设备上。点此了解如何确认。