它做什麼
把一台手機鏡頭,變成一台文件掃描器。
下面這一切都在這個分頁裡、在這台裝置上執行。頁面載入完之後,這裡沒有任何東西需要帳號、訂閱或網路連線。
找到紙張
你移動鏡頭時,紙張的輪廓會即時畫出來;如果輪廓找錯了邊,四個角都可以拖。
把透視擺正
斜著拍下來的一頁紙會變回方正的矩形,就像它是平放在平台式掃描器上、而不是單手舉著拍的。
整理光線
陰影、偏黃的檯燈光、手機照片特有的灰濛濛,都會被抹平,於是紙是白的,字是黑的。
讀出文字
OCR 會跑過每一頁,所以你拿到的 PDF 是可以在裡面搜尋、可以選取文字的,而不是一張文件的照片。文字辨識目前只讀英文,可搜尋的文字層也只承載拉丁字母 —— 中文等其他文字的頁面照樣能掃得乾淨,但裡面的文字暫時還搜尋不到。
拼成多頁 PDF
繼續拍就是了;頁面會收進一個暫存區,寫出文件之前你可以在那裡重新排序、旋轉或刪掉某一頁。
留在裝置上
做好的掃描件存在這個瀏覽器自己的儲存空間裡。你想怎麼匯出都行,沒有哪台伺服器上留著一份。
運作方式
每一步都發生在你自己的機器上。
掃描核心用 Rust 寫成,編譯為 WebAssembly —— 經 gzip 壓縮後傳輸 182 KB。它跑在分頁內的背景 worker 裡,所以在一張 1200 萬畫素的照片上拖亮度滑桿也不會卡。
找出紙張
你移動時,取景框裡會即時描出紙張的輪廓。輪廓不對的話,把四個角中的任一個拖到正確的位置上。
把它擺正
你拍下的那個四邊形會被映射回矩形,尺寸按紙張離鏡頭最近的那條邊來定,這樣清晰的細節一點都不會被丟掉。
整理乾淨
照片、增強或黑白三種模式,另有亮度與旋轉。增強會把紙拉回白、把字拉回黑,同時不把兩頭壓死。
讀出它
裝置本機的文字辨識會在頁面影像後面放一層隱形文字,於是 PDF 既可搜尋、可選取,看上去又還是那張掃描件。
產生 PDF
增加、重排、刪除頁面,都不限數量。紙張可選 A4、Letter、Legal 或掃描件本身的形狀,壓縮力道也可以自己定。
留著,或者不留
做好的文件留在這個瀏覽器裡,可以跨你做過的每一份掃描件搜尋 —— 搜的就是辨識在裡面讀出的那些詞。
免費,而且開源 —— 全部功能,不必註冊、沒有浮水印、不限頁數。
它還在哪裡跑
也有 Android 版;iPhone、iPad 版本也在做。
上面那台掃描器能在任何現代瀏覽器裡跑,包括你手機上的那個。同一套 Rust 核心也在被裝進原生應用程式,這樣相機、檔案選擇器與離線儲存就來自系統而不是瀏覽器分頁 —— 掃描程式碼一模一樣,只是為手機編譯了一遍。
- 可用 在你的瀏覽器裡 全部功能,任何裝置。把它加到主畫面,它就像一個應用程式一樣開啟,也能離線用。
- 可用 Android 已在 Google Play 上架。只要求相機權限,沒有網路權限,也不用登入。
- 進行中 iPhone 與 iPad 同一個引擎,兩台上都能跑,並且為 iPad 做了排版。還沒有簽名散布,所以現在沒有東西可下載。
隱私
唯一一台你能自己核實隱私說法的掃描器。
每一款掃描應用程式都說你的文件是私密的。在原生應用程式裡,那是一句你無從核查的承諾。在這裡,它是你可以親眼看著發生的事:打開開發者工具,切到網路面板,掃描一頁。你會看到應用程式自身的檔案和文字辨識資料從 opendocscan.com 或瀏覽器快取載入,但沒有任何請求帶著你的文件。
- 核心構不到網路 負責掃描的那個 Rust 模組裡沒有編進任何 HTTP 用戶端,也沒有任何網路相依。根本不存在一條通往伺服器的程式碼路徑。
- 文字辨識是從這裡發出去的 辨識引擎通常會從公共 CDN 取模型,那等於你每掃描一次就告訴第三方一次。這裡的每一個位元組都改由本站提供。
- 跨來源請求是被拒絕,而不只是被避開 一個 service worker 擋在頁面發出的每一個請求前面,凡是去往其他來源的,一律以 403 回絕 —— 所有方法都一樣,不只是讀取。
- 掃描不需要帳號 這裡沒有什麼要註冊,也沒有哪個功能藏在登入之後。確實有一個選用帳號 —— 它負責把點數帶到我們其他應用程式裡 —— 但你的文件由你的瀏覽器存在你的裝置上,從不進入它。
- 沒有廣告、沒有追蹤器、沒有第三方統計 本頁不載入任何第三方指令碼,也不設定 cookie。造訪次數由我們自己伺服器上的統計服務計數,它看不到你的掃描件;只要有一個請求離開本來源,它的測試套件就會失敗。
價格
免費。全部。
這個頁面上的每一項功能都是免費的:不限頁數、沒有浮水印、沒有試用期、不必帳號。這裡沒有一個付費方案在等著把你推過去,因為一切都跑在你自己的裝置上,對我們來說不花一分錢。
它取代的那些掃描應用程式,要收訂閱費才去掉浮水印、給一份文件的頁數設上限,或者把你的掃描件存在他們的伺服器上。這一個一樣都不做,而且原始碼是公開的,你可以自己查。
疑問
在你掃描任何東西之前。
- 免費嗎?文字辨識(OCR)也免費嗎?
- 是的。這個頁面上的每一項功能都是免費的,包括文字辨識:不限頁數、沒有浮水印、沒有試用期、不用帳號。沒有付費方案。
- 匯出的 PDF 會帶浮水印嗎?
- 不會。匯出的 PDF 沒有浮水印,多少頁都一樣。
- 我的掃描件會被上傳到哪裡嗎?
- 不會。一切都在這個瀏覽器分頁裡完成,不上傳任何東西。你可以自己查證:打開開發者工具,切到網路面板,掃描一頁。你會看到應用程式自身的檔案和文字辨識資料從 opendocscan.com 或瀏覽器快取載入,但沒有任何請求帶著你的文件。
- 離線能用嗎?
- 可以。頁面載入完之後,沒有網路它也照常運作,文字辨識也一樣 —— 而文字辨識正是通常需要伺服器的那一步。
- 有手機應用程式嗎?
- 這個頁面就是。把它加到主畫面,它會像任何應用程式一樣開啟、能離線使用、能呼叫後鏡頭。以同一套掃描程式碼寫成的 Android 應用程式已在 Google Play 上架;iPhone、iPad 原生版本也在進行中,但還很早期。瀏覽器版才是完整的那個。
- 需要帳號嗎?
- 不需要。這裡沒有任何東西藏在登入之後。有一個選用帳號,用來把點數帶到我們其他應用程式裡;你掃描的東西從不屬於它的一部分。
- 文字辨識支援哪些語言?
- 目前是英文。辨識出的文字會作為一個隱形圖層寫進 PDF,放在頁面影像後面。英文模型讀不了的頁面(比如中文、日文、韓文)不會寫入可搜尋層,也不顯示詞數,掃描器會直接提示這一頁沒有辨識出可搜尋的文字,而不是把猜出來的亂碼寫進去。頁面影像本身不受影響。
- 我的文件存在哪裡?
- 在這個瀏覽器裡,在這台裝置上。不在伺服器上 —— 這也表示它們不會出現在你的其他裝置上,而清除瀏覽資料就會把它們一併清掉。
- 真的是開源的嗎?
- 是的 —— 全部程式碼,採用 MIT 或 Apache-2.0 授權。