掃描版 PDF 轉 Markdown

掃描檔、拍照的頁面和純圖片 PDF,直接在這個分頁裡用 OCR 辨識。頁面不會離開你的裝置,轉換器還會告訴你哪些行它沒把握。

把 PDF 拖到這裡

也可以貼上或選擇檔案。一次最多 20 個,就在這個分頁裡轉換。

手邊沒有檔案?試試

檔案只在這個瀏覽器分頁裡讀取,從不上傳。

這裡的 OCR 怎麼運作

掃描版 PDF 裡存的是頁面圖片,不是文字。要從中得到 Markdown,就得用文字辨識模型逐張讀圖。大多數網站的做法是把檔案上傳到伺服器,這裡則是讓模型來到你的裝置上:

  1. 轉換器先查看每一頁。 已有文字層的頁面直接讀取,更快也更準確。沒有文字層,或文字層由對應不到字母的字元組成的頁面,交給 OCR。
  2. 把頁面繪製成圖片,就在分頁裡完成,解析度足以看清小字。
  3. 偵測模型找出文字行,辨識模型逐行讀取。兩者都是 PaddleOCR 模型(Apache 2.0),透過 WebAssembly 執行,瀏覽器允許時使用多執行緒。
  4. 依閱讀順序重新排列各行:合併段落,依行高推斷標題,把依欄對齊的行重建成表格。之後這一頁就和其他頁面一樣轉成 Markdown。

第一次轉換掃描檔時會下載模型:拉丁字母和中文約 6 MB,日文或韓文約 20 MB。之後模型留在快取裡,OCR 立刻就能開始。

速度如何?

在較新的筆電上,模型載入完成後,一般頁面每頁約 2 到 4 秒。手機比較慢,字小又密的頁面也比一封信慢。進度列會顯示正在辨識哪一頁,取消隨時可以停下。已經辨識的頁面會保留,重新開始時從停下的地方接著做。

如果只有部分頁面是掃描的,就只有這些頁面走 OCR。一份 200 頁的報告,只有附錄三頁是掃描檔,轉換速度和完全沒有掃描頁時幾乎一樣。

檢查 OCR 沒把握的頁面

辨識模型很好,但並不完美。轉換器不會讓你從頭校對到尾,而是記錄模型對每一行的信心度。只要某頁有一行低於門檻,這頁就會出現在待檢查頁面裡,標註「OCR 對部分字詞沒把握」,頁面影像就放在它的 Markdown 旁邊,方便對照。

相反的問題也在這裡解決。有些 PDF 的文字層是壞的:字型對應到錯誤的字元,讀出來毫無意義。這些頁面會被標記為疑似亂碼,點用 OCR 辨識這一頁,就只針對這一頁從影像重新辨識。

選對模型

你的文件在「掃描頁」中選擇下載大小
英文、西班牙文、法文、德文、葡萄牙文等拉丁字母語言拉丁字母和中文約 6 MB
中文(簡體和繁體印刷體)拉丁字母和中文約 6 MB
日文日文約 21 MB
韓文韓文約 18 MB

你的選擇會在下次造訪時保留。中文文件夾雜英文時,「拉丁字母和中文」模型兩者都能讀;日文或韓文文件夾雜英文時,選日文或韓文模型比較好,因為每個模型也認得拉丁字母和數字。

讓掃描檔辨識得更好

  • 自己掃描時用 300 dpi。 低於 200 dpi,小字就開始糊成別的字母。
  • 頁面越正,辨識越好。 斜著拍的頁面,或往書背彎進去的頁面,邊緣附近可能漏字。
  • 文字層不可信時,在掃描頁裡選所有頁面,例如老式掃描器 OCR 產生的文字層。轉換器會忽略它,自己辨識每一頁。
  • 在手機上轉換長掃描檔時,可以只轉換部分頁面,避免記憶體不足。

OCR 目前還做不到的

  • 手寫字不支援,模型是用印刷體訓練的。
  • 擁擠或歪斜的表格。 掃描的表格在欄位對齊清楚時會變成 Markdown 表格。欄位擠得很近,或頁面掃歪了,就可能輸出為一行行文字。詳見 PDF 表格轉 Markdown。
  • 公式依模型看到的字元輸出,不會變成 LaTeX。
  • 上面模型以外的語言,例如阿拉伯文、希伯來文、西里爾字母、希臘文、泰文或印地文,OCR 都不支援。不過這些語言的 PDF 只要有文字層,照樣能轉換,因為不需要 OCR。

瀏覽器裡的 OCR 安全嗎?

安全。每一頁都在這個分頁裡繪製和辨識,文字一直留在它的記憶體裡,直到你複製或下載。頁面的任何內容,不論影像或文字,都不會傳送到任何地方。所以掃描的合約、病歷和其他不想上傳的文件都可以放心使用。執行時你可以打開瀏覽器開發人員工具的網路面板查看:沒有任何請求帶著你的檔案或文字。

常見問題

能轉換文件照片嗎?

請先把照片做成 PDF,大多數手機都能在分享選單裡把掃描結果或照片存成 PDF。然後把 PDF 拖到這裡。目前還不直接接受圖片檔。

為什麼第一次掃描比較慢?

因為第一次要下載 OCR 模型,只下載這一次。只要瀏覽器保留快取,之後的掃描即使換了一天也不用再等。

掃描檔有文字層,但文字是錯的,怎麼辦?

那個文字層來自掃描器內建的 OCR,品質可能很差。在掃描頁裡選所有頁面重新轉換,或在看起來不對的頁面上使用用 OCR 辨識這一頁。

能離線使用嗎?

轉換開始後,只要模型已在快取裡,就不需要網路。中途斷線,處理也會繼續。