将Markdown转换为PDF
把README、笔记或文档转成排版考究的PDF——GitHub风格的表格、高亮代码、脚注和可点击的大纲——编辑时就能准确看到最终效果。
- 转换完成后立即删除
- 加密传输,立即删除
- 无需注册,无水印
手头没有文件?
使用方法
添加Markdown
拖入.md文件——如果用到了图片,连同图片一起拖入——或者直接在编辑器中输入和粘贴。
设置页面样式
选择字体、页面大小和边距,还可以添加目录。输入时预览会实时更新。
生成PDF
标题会成为PDF书签,所有链接都保持可点击。
哪一种Markdown,以及它会变成什么
Markdown是一个家族,而不是单一的规范。通用的核心——标题、强调、列表、链接、图片、引用块、代码块——在哪里都一样,除此之外,每种实现各不相同。这里支持的是被广泛认可的扩展集:表格、带语法高亮的围栏代码块、任务列表、删除线、脚注和front matter。这涵盖了几乎所有人会写的内容,而且事先知道边界在哪里,总比事后才发现好。
标题会成为真正的PDF结构,而不只是更大的字:它们带有大纲级别,所以PDF会有一个可以用来导航的书签侧栏。链接会成为可用的链接注释。代码块使用带高亮的等宽字体排版,这决定了文档是读起来舒服,还是一堵灰色的墙。页面大小和边距是为阅读而选定的,而不是继承来的,因为Markdown文件对纸张没有任何设定。
图片必须能被找到,这是最常见的失望之处。Markdown文件引用图片,而不是包含图片,所以相对路径只有在图片和文件一起拖入时才能解析,网址也只有在对方服务器允许其他网站获取时才能解析。找不到的图片会在PDF中标注出来,而不是悄无声息地留下空白,所以缺失的示意图一眼就能看到,而不是在发出文档后才发现。
有两样东西会有意以代码形式显示,而不去渲染。LaTeX写法的数学公式和Mermaid图表各自需要专门的渲染器,渲染错了比显示源码更糟——渲染错误的公式错得没人看得出来。Markdown中的原始HTML只处理简单的行内格式,不处理布局,因为任意一段标记放进分页文档里是没有位置的。
如果您需要的是别的
Pandoc是做这件事的专业工具,而且免费。pandoc doc.md -o doc.pdf --pdf-engine=xelatex通过LaTeX排版,能生成真正精美的效果,有规范的断词、孤行控制和真正的目录——配合模板,设计的每个方面都由您掌控。它还能正确渲染LaTeX数学公式,这正是本工具的短板。代价是要安装一套TeX发行版,体积可不小。
如果是文档站而不是一次性的文档,静态网站生成器或mdBook能生成比PDF更好的东西:可搜索、可链接,手机上也能读。当文档需要打印、作为附件或归档时再转成PDF——无论如何都请把Markdown作为唯一的原始版本保留下来,因为它才是可以编辑和比对差异的版本。
常见问题
支持哪些Markdown功能?
GitHub在README中能渲染的都支持:标题、强调、删除线、链接和自动链接、图片、引用块、嵌套列表、任务列表、带对齐方式的表格、支持35种以上语言语法高亮的围栏代码块、脚注以及内嵌HTML。
怎样加入图片?
把图片和.md文件一起拖入(也可以之后再添加)。图片按文件名匹配,所以无论chart.png原本放在文件夹的哪个位置,都能找到它。网络图片在其所在服务器允许时会被自动获取。
能生成目录吗?
能——勾选“目录”,或者在想放目录的位置单独一行写上[TOC]。无论哪种方式,目录条目都是能跳转到对应页面的链接,而且每个标题也会出现在PDF的书签侧栏中。
我的文本会被存储吗?
您的Markdown就在这里被转换为网页,不存储任何内容。随后这个网页通过加密连接发送到我们的服务器,转成PDF后立即删除。如果服务器暂时无法访问,工具会改用自带的转换器,并告诉您这一点。
Front matter会出现在PDF中吗?
不会。开头的YAML front matter块不会出现在页面上,其中的title:会成为PDF的文档标题。
Markdown中可以使用HTML吗?
可以,用于格式——<details>、<kbd>、<sup>、表格等都能正常渲染。脚本、表单和嵌入框架会被移除,因为文档没有理由运行代码。
小贴士: 数学公式和Mermaid图表会以代码形式显示,不会被渲染。图片必须随文件一起拖入,或托管在允许获取的地方;缺失的图片会在PDF中标注出来,而不是留下一块空白。