宽表不挤成一列
列宽用的是 Notion 自己算出来的宽度,不是把纸宽平均分。比纸还宽的表整体等比缩小,缩放比例直接显示出来——23 列的数据库仍然可读,而不是每行只剩一个字。
Notion → PDF
粘贴一个公开的 Notion 页面,调纸张、看预览、导出。PDF 是直接从你眼前这一页打印出来的——同样的表格、同样的列宽、同样的分页——而不是按一组参数重新拼一遍。
还没有加载页面
在上面粘贴一个已发布到 Web 的 Notion 页面,或打开示例看看宽表和折叠块的效果。
大多数 Notion 导出工具是把页面「压平」成一个近似物。这里打印的是页面本身,所以下面四件事在 PDF 里和在屏幕上一样。
列宽用的是 Notion 自己算出来的宽度,不是把纸宽平均分。比纸还宽的表整体等比缩小,缩放比例直接显示出来——23 列的数据库仍然可读,而不是每行只剩一个字。
切点按 Chromium 自己的规则模拟:一行、一张图、一段代码如果会被拆开,就整块推到下一页;跨页的表格在每页顶部重复表头。
在预览里点开一个折叠块,PDF 里它就是展开的。导出读的是活着的 DOM,展开状态只有一个真相,不需要按参数回放、也就不会回放错。
在预览里点数据库的视图标签就行。行、筛选、排序都跟着变,导出前页数会重新算。
几乎所有让人失望的 Notion 转 PDF,问题都出在同两个地方:表格,和分页。这两件事在页面排版的时候就已经定下来,不是写完文件再补救。
Notion 表格的每一列都存着一个宽度,是按你填进去的内容算出来的。把页面重新塞进打印网格的转换工具会丢掉这些宽度、把纸张平均切开,于是左边一段长句子的表格,导出来就变成一列只有一个字宽,剩下的全是连字符。
这个工具按浏览器排好的样子去量表格:列宽照 Notion 给的值打印,只有整张表比纸宽时才整块等比缩小,缩放比例显示在预览上方。23 列的数据库照样看得清,想要原尺寸也可以换成 A3 横向。
分页沿用 Chromium 打印时的规则:表格行、图片、代码块、callout 和引用块都是整块不可拆。刀口要是落在其中任何一块里面,整块就移到下一页,而不是从中间切开、把剩下的半截留在上一页。
跨页的长表格会在每一页顶部重复表头;标题也不会孤零零留在页脚——它会跟着下面那一块一起下移。预览里画的虚线和真实分页是同一条线,你看到几页,导出来就是几页。
第一次导出前后,问得最多的几个问题。
NotionManager 把工作区备份到你自己的磁盘,任何页面都能导出——包括私有页面,全程不经过浏览器。