不是每份文档都从 Word 开始。越来越多人用 Typst 写论文、信件、简历和课堂讲义,省去了和 LaTeX 较劲的麻烦;也有很多团队把手册、规格说明和运维文档写成 AsciiDoc。可一旦有人要一份签好字的扫描件,你手边这台电脑上却只有源文件。
Look Scanned 现在两种都能打开。.typ 文件用 Typst(.typ)转扫描版 PDF,.adoc 和 .asciidoc 文件用 AsciiDoc(.adoc)转扫描版 PDF。文档会在你的浏览器里排成页面,你在预览里检查一遍,加上扫描效果,就能下载一份像真的过了扫描仪的 PDF。不用安装 Typst CLI,不用装 Ruby 或 Asciidoctor PDF,也不用登录任何账号。
Typst:在浏览器里运行的官方编译器
Look Scanned 运行的是官方 Typst 编译器(Typst 0.14)的浏览器版本,和 typst compile 背后是同一个编译器。所以页面、换行、公式和表格都会和你在自己电脑上编译的一样,文档里设置的纸张大小和页边距也会保留。
- 第一次需要等一会儿。编译器和 Typst 的字体加起来大约 20 MB,第一次使用时会从 Look Scanned 下载。之后它们从浏览器缓存里读取,离线也能打开 Typst 文件。
- 只支持单个文件,不支持包。只有自成一体的文档才能编译。
#import "@preview/…"这样的行会失败,因为没有可以下载的包仓库。读取其他文件的写法同样不行:用#image插入的图片、用#include引入的章节,以及从 CSV 或 JSON 文件读取的数据。 - 只有 Typst 的默认字体。文字会用 Typst 自带的字体排版:Libertinus Serif、New Computer Modern 及其数学字体,代码用 DejaVu Sans Mono。电脑上安装的字体用不了,文档里指定的其他字体会退回到这几种。它们覆盖拉丁字母(包括越南语)、希腊字母、西里尔字母和希伯来字母。中文、日文和韩文完全没有可以回退的字体,阿拉伯文、泰文、天城文等文字也支持得不完善,所以文档里如果用到这些文字,请在预览里检查一下。
- 源文件必须能编译通过。如果 Typst 报错,你看到的是错误提示,而不是页面。
因为 Typst 在加扫描效果之前先生成了一份真正的 PDF,它的文字也可以一起保留下来。保存为 PDF 时,在“输出设置”里打开“保留原文文字(类似 OCR)”,扫描版 PDF 里的文字就仍然可以搜索和复制。
AsciiDoc:不用 Ruby 的 Asciidoctor
AsciiDoc 文件由 Asciidoctor 转换。Asciidoctor 是 AsciiDoc 的标准处理器,这里用的是它在浏览器里运行的 JavaScript 版本。结果排在页边距为一英寸的 A4 纸上,能保留的内容有:
- 文档头:标题、作者和修订信息行;文档设置了
:toc:时还有目录。 - 章节、列表、表格、脚注、引用和代码标注。提示块(admonition)会以文字形式显示标签,比如 Note 或 Warning,而不是图标。
- 文档设置了
:stem:时,STEM 公式会用正式的数学字体排版。AsciiMath 和 LaTeX 两种写法都可以,行内和块级都支持。 - 文档设置了
:source-highlighter:时,代码块会按语法着色,无论它指定的是哪个高亮器。没有这个属性,代码块就保持素色,和在其他地方一样。 - 很长的表格和代码块会延续到下一页,表格的一行不会被拦腰截断。
也有一些内容无法保留:
- 不会处理
include::。每条 include 指令都会显示成指向其路径的链接,而不是被引入的内容。请先把各部分合并成一个文件。 - 图片需要完整的网址。用
images/diagram.png这类相对路径引用的图片找不到,因为文件是单独打开的,没有它所在的文件夹。带完整https://地址的图片会从托管它的网站加载,这需要联网。 - 图表保持源码。这里没有 Asciidoctor Diagram,所以 PlantUML 或 Mermaid 块会显示成你写的文本。
- 字体来自你的设备。文字用电脑或手机上安装的字体排版,所以同一个文件换一台设备,分页位置可能不一样。
- 太长的文件可能超时。排版要在大约 30 秒内完成,所以一本书那么长的文档请拆成几个小文件。
- 不接受
.asc文件。这个扩展名通常属于 PGP 密钥和签名。打开 AsciiDoc 文件前,请先把它改名为.adoc。
怎么把 .typ 或 .adoc 文件转成扫描版 PDF?
- 打开 Typst(.typ)转扫描版 PDF 或 AsciiDoc(.adoc)转扫描版 PDF,选择你的文件。
- 稍等片刻,等页面准备好后逐页看一下预览,检查标题、公式、表格和代码。
- 调整扫描效果。如果文档里有小字或者密集的公式,把模糊和噪点调低一些。
- 点击“生成扫描件 PDF”,再点击“下载扫描件 PDF”。
如果需要图片,也可以把每一页导出成 JPG 或 PNG。具体怎么选,可以看看扫描件的 PDF、JPG 和 PNG 格式区别。开通专业版后,用批量扫描可以一次处理好几个 .typ 或 .adoc 文件。
文件一直留在你的设备上
两种格式的转换和扫描都在你的浏览器里完成,源文件不会上传到服务器。对 Typst 来说,唯一要下载的是编译器和字体,来自 Look Scanned 自己的网站;包和其他文件一律不会被获取。对 AsciiDoc 来说,唯一的例外是带完整 https:// 地址的图片,它会从托管它的网站获取,和你在浏览器里打开那个页面时一样。
需要了解的几点
- 生成的 PDF 是图片。和真正的扫描件一样,PDF 里的文字不能选中、搜索,除非你在 Typst 文件上用了上面提到的文字选项。要编辑的话请保留
.typ或.adoc源文件。 - 一定会加上扫描效果。Look Scanned 的用途就是让文档看起来像扫描件。如果你只需要一份干净的 PDF,请直接用 Typst 或 Asciidoctor PDF 导出。
- 需要包、include 或图表? 在装有 Typst 或 Asciidoctor PDF 的电脑上生成 PDF,再把这个 PDF 放进 Look Scanned 添加扫描效果。这条路对任何文档都适用,因为难的部分原本的工具已经做完了。
用的是别的格式?看看 Look Scanned 怎么处理 LaTeX 文件,以及 Markdown、HTML 和 TXT 文件。
手上有需要做成扫描件的 .typ 或 .adoc 文件?试试 Typst,或者试试 AsciiDoc。