关于把 Markdown 变成 PDF
Markdown 是最省事的写作方式,也是最麻烦的交付方式。
笔记写好了,README 写好了,规格说明写好了,报告也写好了。在编辑器里看一切都很完美。然后有人说:「给我一份 PDF。」于是你的选择变成:装一整套工具链,或者粘到文字处理软件里再手动把格式修一遍,或者推到代码仓库然后截图。
不如直接粘到这里。 右边的预览就是 PDF 的样子,按一下按钮就变成文件。
什么能完整保留
GitHub 风格 Markdown 该有的,基本都在:
- 标题 —— 各级标题,带文档该有的间距
- 列表 —— 无序、有序,以及嵌套
- 表格 —— 有边框,表头有底色
- 代码 —— 行内的 像这样,以及保留缩进的代码块
- 引用、分隔线、粗体、*斜体*和链接
- 图片 —— 只要是 data URI 或能访问到的网址
预览和 PDF 用的是同一套样式,所以你看到的就是最终打印出来的样子。不会有第二道排版环节让你意外。
两种样式
- 素净文档 —— 衬线字体,行距舒展。适合报告、方案、成段的文字,以及任何需要从头读到尾的东西。
- README 风格 —— 无衬线字体,标题带下划线,更接近 README 在代码平台上的样子。适合技术文档和说明。
页面设置
A4 或 Letter,纵向或横向,页边距以毫米为单位。碰到宽表格或很长的代码行时,记得试试横向 —— 这往往就是表格放得下和放不下的区别。
页码默认开启,居中排在每页底部。只有一页的文档就关掉它,那时它只会添乱。
没有任何东西离开你的设备
Markdown 的渲染和 PDF 的生成都在你的浏览器里完成。不会上传,所以:
- 未发布的规格、内部笔记、客户的活儿,都留在原地
- 没有上传带来的文件大小限制
- 页面加载之后,断网也能用
- 你写的内容会保存在这个浏览器里,关掉标签页也不会丢 —— 而且只在这个浏览器里
为什么页面是「画」出来的,不是排字排出来的
每一页都是先画成图片再放进 PDF,而不是作为 PDF 文字写进去。这是有意为之:PDF 的标准字体根本无法编码谚文、假名、汉字和西里尔字母,而 Markdown 文档可能是任何语言。
用画的方式就会使用你自己系统里的字体,任何文字系统都能正确显示。代价是最终 PDF 里的文字无法选中 —— 这和 Word 转 PDF 出于同样理由做出的取舍是一样的。如果你需要可选中的文字,而文档又只有拉丁字母,可以看看简历生成器是怎么走另一条路的。
大家都拿它转什么
- 给不用代码平台的人看的 README 或说明文档
- 用 Markdown 记的会议纪要,作为文档发出去
- 在文本编辑器里起草的规格说明或方案
- 要打印或在平板上看的学习笔记
- 要随邮件发出的更新日志或发布说明
- 用 Markdown 写、以 PDF 形式发放的课程材料
值得一提
- Markdown 里夹带的原始 HTML 会在渲染前被清理,所以粘进来的文档不会执行任何东西
- 很长的文档每页要几秒钟 —— 所有处理都在本地
- 来自互联网的图片,只有在对方站点允许被别的页面读取时才会显示;以 data URI 粘贴的图片则始终可用
- 想反过来,或者只是想写 Markdown,请用 Markdown 编辑器
- 想把结果和别的 PDF 接起来,请用 PDF 合并
使用方法
- 把 Markdown 粘到左边,或点打开 .md 载入文件
- 看一下右边的预览 —— PDF 就长这样
- 选择纸张大小、方向、页边距和样式
- 需要的话勾上添加页码
- 点生成 PDF,然后点下载 PDF
相关工具
- Markdown 编辑器 —— 带工具栏和实时预览地写 Markdown
- Word 转 PDF —— 同一个 PDF 引擎,从 .docx 开始
- PDF 转文字 —— 把纯文本从 PDF 里取回来
- PDF 合并 —— 把这个 PDF 和别的接起来
- 给 PDF 添加页码 —— 给已有的 PDF 编页码
- PDF 压缩 —— 发送前把文件变小