不是每份文件都從 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?

  1. 開啟 Typst(.typ)轉掃描版 PDF 或 AsciiDoc(.adoc)轉掃描版 PDF,選擇你的檔案。
  2. 稍等一下,等頁面準備好之後逐頁看過預覽,確認標題、公式、表格和程式碼。
  3. 調整掃描效果。如果文件裡有小字或密集的公式,把模糊和雜訊調低一點。
  4. 點選「產生掃描檔 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。