把 Markdown 导成 PDF,最直觉的办法是打开预览页,再选择“打印”或“另存为 PDF”。如果只是临时留一份副本,这通常已经够用。
但准备打印、归档或正式发送时,人们期待的不只是“得到一个能打开的文件”:标题最好能成为 PDF 书签,代码块不能被页面边缘截断,中文不能突然缺字,纸张大小和页边距也应该稳定。屏幕上看着正常,并不代表这些要求会自动成立。
妙盒笔记因此没有把 PDF 当作网页预览的截图,而是把 Markdown 重新排成适合纸面阅读的文档。导出后得到的是有明确页面尺寸、标题层级和版式规则的 PDF,而不是依赖当前窗口宽度的一次打印结果。
网页会伸缩,PDF 必须先做决定
网页可以随着窗口变宽或变窄,图片和段落也能继续向下延伸。PDF 不一样:每一页从一开始就有固定边界。
这意味着导出时必须提前回答一组问题:一段代码放不下时怎样换行,标题能否留在下一段旁边,图片过大时怎样缩放,长表格跨页后还能不能读。系统打印只能记录浏览器当时给出的结果,却不一定理解一篇笔记的结构。
标题书签也是同样的道理。页面上字号更大的文字,打印之后可能仍然只是“看起来像标题”;专门排版则可以保留标题层级,让读者在较长的 PDF 中直接跳转。
所以,PDF 导出并不是把同一画面换一个文件后缀。它要把适合滚动阅读的内容,重新解释为适合翻页、打印和离线保存的内容。
用户得到的是稳定的纸面版本
在妙盒笔记中,PDF 导出会单独处理标题书签、页面版式和字体,并支持模板化输出。它适合把一篇较长的笔记保存下来,也适合生成需要发送、打印或归档的版本。
这里的“稳定”不是承诺每台设备都产生像素完全相同的页面,而是让关键规则不取决于导出时恰好打开了多宽的窗口。例如:
- 标题仍然是可识别、可跳转的标题;
- 正文按纸张边界重新流动,而不是截取屏幕;
- 字体缺少某些字符时,系统有机会寻找可用的替代字形;
- 内容或资源无法处理时,问题可以被明确发现,而不是悄悄得到一份残缺文件。
对用户来说,最重要的变化不是背后用了哪一种技术,而是导出结果可以离开应用独立使用。关闭妙盒笔记之后,PDF 仍然是一份有完整页面结构的文档。
为什么 PDF 不会和网页一模一样
重新排版也意味着必须接受差异。
网页擅长链接、交互组件和可以随窗口变化的布局;PDF 擅长固定页面、打印和长期保存。笔记中的网页片段、远程图片或特殊样式,不一定能原样进入纸面。与其假装两种媒介完全相同,更可靠的做法是为不能直接转换的内容规定清楚的处理方式。
例如,网页代码不能被 PDF 当成一个小浏览器继续运行。保留可读的原始内容,往往比静默丢失更诚实。如果一份内容必须保留网页交互,发布成网站会比导成 PDF 更合适。
这也是“打印预览”和“排版导出”的真正区别:前者尽量复制眼前的页面,后者先判断另一种媒介需要什么,再生成对应结果。
什么时候系统打印已经够用
并非所有 Markdown 都需要专门的 PDF 管线。
临时分享几段文字、保存一张当前页面的快照,或者只在自己的设备上查看时,系统打印更快,也更简单。专门导出会增加字体、图片、分页和模板的处理成本,结果也不会保留网页的所有动态能力。
当一份文档开始依赖目录书签、固定纸张、较长代码、中文字体或可重复的版式时,这份成本才值得。此时 PDF 已经不只是内容的副本,而是一种需要单独完成的成品。
导出不是把写作的最后一个画面封存下来,而是让同一份内容在另一种媒介里重新变得可读。