OCR 辨識是什麼?AI OCR 和傳統 OCR 差在哪、企業文件怎麼選

OCR 把圖片和掃描檔裡的字轉成電腦能用的文字。我們用三張虛構的報價單與收據,實測傳統 OCR、AI OCR 與本機視覺模型各讀對幾個欄位、錯在哪裡。

先說結論

OCR(光學字元辨識)把圖片或掃描檔裡的文字轉成電腦能處理的文字。傳統 OCR 交出整頁文字;AI OCR 會再認出表格和欄位,直接填成單號、品名、金額。我們實測發現,清楚的單據各種做法都讀得對,翻拍、蓋章的單據才拉開差距,模型還可能編出看似合理的數字。選工具先看文件品質,再保留驗算與人工確認。

淡紫色桌面上散落著揉皺與攤平的紙條和收據,紙上只有抽象的灰色筆畫與圓點,一道白色光帶斜斜掃過
OCR 辨識是什麼?AI OCR 和傳統 OCR 差在哪、企業文件怎麼選 封面視覺

假設一家建材行的採購助理,每天要處理十幾張供應商報價單:有的是傳真,有的是業務用手機拍了傳過來,有的是 PDF。她把品名、數量、單價一格一格打進 Excel,再和另外兩家比價。某天她把單價 410 打成 140,差點拿錯的價格去下單,老闆問:「這些單子能不能讓電腦自己讀?」

能讀,只是讀出來的東西和她要的東西還差一大截。OCR 交出的是一整頁文字,她要的是「第三列的單價」。中間差的那一步,就是傳統 OCR 和現在常聽到的 AI OCR 的分界。我們拿三張自己做的虛構單據實際跑了一輪,下面的數字都來自這次測試。

OCR 在做什麼:從一張圖片到一串文字

OCR 是 Optical Character Recognition 的縮寫,中文叫光學字元辨識。AWS 的說明是:把文字的影像轉成機器可讀的文字格式。流程大致分四步:取得影像、前處理(轉正、去雜訊)、辨識文字,最後整理成可以編輯或搜尋的文字檔(AWS:什麼是 OCR)。

辨識的方法也在變。Apple 的 Vision 框架把它分成兩條路:快速模式先找出單一字元,再用小模型認字,接近傳統 OCR。精確模式用神經網路一次找出整串文字和整行,再往下切成詞,Apple 形容這比較像人讀字的方式。

精確模式是預設值,而且所有處理都在使用者的裝置上完成(Apple:Recognizing Text in Images)。

實際跑一次就知道 OCR 交出來的是什麼。我們用 Vision 讀一張清楚的報價單,59 段文字一字沒錯。順序卻是一欄一欄排的:先是項次和品名,再來整欄規格,接著才是整欄數量。「120」屬於哪一個品項,要靠每段字的位置推回去。OCR 交出的是文字和位置,欄位要另外整理,選工具時要先想清楚這一步由誰來做。

傳統 OCR、文件 AI 和視覺模型差在哪

市面上說的 AI OCR,多半指下表的後兩種。三類工具的差別在交出來的東西:

類型代表工具交出什麼擅長要注意
傳統 OCRTesseract、作業系統內建的文字辨識整頁文字,加上每段字的位置清楚的印刷文字、讓掃描檔可以搜尋表格、傾斜、翻拍容易漏字;欄位要自己整理
文件 AIGoogle Document AI、Azure Document Intelligence、Amazon Textract文字、表格結構、鍵值對;發票與收據可直接給欄位量大、格式固定的單據文件要上傳到雲端;Amazon Textract 目前不讀中文,繁中單據先用自己的樣本試
視覺語言模型能讀圖的 LLM,例如本機跑的 gemma4、qwen3.5依你給的格式直接輸出欄位各家格式不同、版面雜亂的單據看不清楚時,可能編出看似合理的值

雲端服務的分法可以對照官方文件。Google 的 Vision API 有兩種文字偵測:一般圖片用的 TEXT_DETECTION,以及為密集文字與文件最佳化的 DOCUMENT_TEXT_DETECTION。掃描文件要做表單解析,Google 建議改用 Document AI。

Azure 的 Layout 模型抽出文字、表格與文件結構,發票、收據有現成模型直接給欄位,格式固定的自家表單還能訓練自訂模型。Amazon Textract 會保留表格的行列關係、抓鍵值對,並對每個辨識結果給信心分數;不過它目前只支援英文和五種歐洲語言,中文單據讀不了。

我們拿三張單據實測:讀對幾個欄位

2026 年 10 月 11 日,我們在一台 Apple M4 Pro、24 GB 記憶體的 Mac 上,用三張自己畫的虛構單據測了六種做法。第一張是清楚的電子報價單,要讀 20 個欄位:單號、日期、有效期限、廠商、五個品項的品名數量單價,以及總計。第二張是同一張報價單模擬手機翻拍:傾斜、有陰影、有點模糊,紅色印章正好蓋在總計上。第三張是字很淡的收據,要讀 12 個欄位。

測試用的虛構報價單翻拍圖:頁面略為傾斜、右下偏暗,五個品項的表格清楚可見,紅色「北辰建材 報價專用章」印章蓋在小計與總計金額上 第二張測試單據。公司、品項與電話都是虛構的,印章刻意蓋在總計上。

六種做法分三組:只做 OCR 的 Tesseract 5.5.1 和 Apple Vision;把 Vision 讀出的文字交給本機模型 gemma4:12b 或 qwen3.5:9b 整理成欄位;讓這兩個模型直接看圖填欄位。模型都用 Ollama 在本機跑,溫度設 0;翻拍那張每種做法重跑三次,結果完全一樣。只做 OCR 的兩種,算的是欄位值有沒有一字不差被讀出來。交給模型的四種,算的是值有沒有填進正確的欄位,留空和填錯分開記。

做法清楚報價單(20 欄)翻拍加印章(20 欄)收據(12 欄)每張耗時
Tesseract 5.5.1204111 秒內
Apple Vision2019121 秒內
Vision → gemma4:12b2010(10 個填錯)1219–38 秒
Vision → qwen3.5:9b9(11 個留空)9(11 個留空)127–14 秒
gemma4:12b 直接看圖2017(3 個填錯)11(1 個填錯)8–26 秒
qwen3.5:9b 直接看圖2020127–27 秒

模型的耗時包含第一張載入模型的時間;兩個模型的授權都是 Apache 2.0,可以商用。

長條圖:翻拍加印章的報價單,20 個欄位各方法讀對幾個。Tesseract 正確 4、沒讀到 16;Apple Vision 正確 19、沒讀到 1;Vision 加 gemma4:12b 正確 10、填錯 10;Vision 加 qwen3.5:9b 正確 9、留空 11;gemma4:12b 看圖正確 17、填錯 3;qwen3.5:9b 看圖 20 個全對 第二張測試單據的結果。前兩列只做 OCR,後四列看欄位有沒有填對。

清楚的單據,大家都讀得對。唯一的例外是 Vision 文字交給 qwen3.5 整理:它沒讀錯任何字,問題出在 Vision 的文字是一欄一欄排的,它拼不回表格,乾脆把數量和單價全部留空。

翻拍加印章,差距一下子拉開。Tesseract 的預設版面分析整張表格都沒讀出來,只剩表頭 4 個欄位。Vision 讀出了除總計以外的每個值,被印章蓋住的 73,164 沒抓到,還把「報價單號」讀成「報價單覽」。換成 Tesseract 的另一種版面模式,收據的每一行都對齊了,報價單的表格卻整張不見。傳統 OCR 要依文件類型調設定,就是這個意思。

最需要提防的是填錯。gemma4 直接看圖時,把蓋在印章下的總計填成 69,000,把「防水膠泥」寫成「防水水泥」,單號多了一個 0。收據上的「水泥釘」則被讀成「水泥泥」。Vision 文字交給 gemma4 時,五個品項的數量和單價整排錯位,總計還抓成了稅額 3,484。這就是 AI 幻覺 出現在單據上的樣子:值看起來都很合理,只是不對。留空的欄位會被人補上,填錯的欄位會一路流進比價表和訂單。

同一張翻拍單,qwen3.5 直接看圖 20 個欄位全對,連印章下的總計都讀出來了。三張單據、一台電腦、一組設定,只能看出差異的方向;換成你們自己的單據,排名可能不一樣,導入前一定要用自己的單據測一輪。

錯誤要在哪一關擋下來

單據上的數字彼此有關係,這是最便宜的檢查。以第二張報價單為例:

  1. 數量 × 單價 = 金額:矽酸鈣板 120 × 285 = 34,200。錯位的版本把輕鋼架主架填成數量 285、單價 7,680,一乘就知道不對。
  2. 小計 × 1.05 = 總計:69,680 × 1.05 = 73,164。被填成 69,000 或 3,484 的總計,都過不了這一關。
  3. 單號格式:這家廠商的單號是 Q 加 8 碼日期再加 3 碼序號,多一個 0 的單號長度就不對。
  4. 品名對照料號表:「防水水泥」「水泥泥」不在採購品項清單裡,直接標出來。

如果擷取時連金額與小計一起抓,這次測試出現的 14 個填錯,用這四條規則都抓得出來。先讓規則擋掉一批錯,人只看過不了規則的欄位,而且連同原圖那一塊一起看。Vision 和 Textract 都會給每段文字信心分數,分數低的也可以一併送審。

企業文件怎麼選:先看文件,再看工具

選工具之前,先把手上的單據分類:

文件情況建議做法原因
電子發票讀證明聯上的 QR Code,或向會計確認能否從電子發票平台取得資料資料本來就是數位的,拍照辨識是多繞一圈
系統產生的 PDF(可以選取文字)直接取文字字本來就在檔案裡,不必 OCR
清楚的掃描檔、格式固定傳統 OCR 加規則,或文件 AI 的現成模型快、便宜,結果穩定
翻拍照片、蓋章、各家格式不同文件 AI 或視覺模型,加上驗算規則傳統 OCR 容易整張表漏掉
報價、合約、個資等機密文件先評估本機方案;用雲端前讀過資料處理說明雲端服務會把文件傳到供應商的伺服器

台灣的電子發票證明聯上有兩個 QR Code。依財政部的條碼規格,裡面記載發票字軌號碼、開立日期、隨機碼、銷售額、總計額、買賣方統編,以及品名、數量、單價等品目資料(電子發票證明聯條碼規格)。收到的是電子發票,拍照做 OCR 應該排在最後。

資料放在哪也要先想。雲端的文件 AI 會把文件送到供應商那邊處理,存放區域與保存期間要看各家的服務條款。想留在公司內部,有三種選擇。Apple 的 Vision 框架在裝置上處理;Tesseract 是開源軟體,可以裝在自己的電腦;能讀圖的模型可以用 Ollama 在本機跑,這次測試就是這樣做的。

只是偶爾要把一張圖轉成文字,Google 雲端硬碟就做得到:在檔案上按右鍵,用 Google 文件開啟,圖片或 PDF 會轉成可編輯的文字。官方說明檔案要在 2 MB 以內、文字高度至少 10 像素,表格和多欄排版可能不會保留(Google 雲端硬碟說明)。

從哪一段開始做

OCR 很少單獨存在。讀出來的資料要進 Excel、ERP 或比價表,後面通常還接著一段自動化:有 API 的系統用流程串接,沒有 API 的舊系統可能要靠 RPA 代為輸入。

要挑第一個試做的流程,可以用哪些企業流程適合先交給 AI agent 的條件篩一次;如果讀出來的文件要放進知識庫給 AI 查,掃描檔怎麼處理,企業知識庫要整理到什麼程度有一節專門在講。

我們的企業 AI 營運方案會先到現場看單據實際長什麼樣:從哪裡進來、誰在核對、錯了誰會發現。接著整合 ERP、內部單據與庫存資料,比對發票、採購單與物料數據。

資料異常或高風險的判斷設計成先暫停、交由專人確認再放行,例如總計對不上、品名不在料號表裡。哪些情況要停下來,上線前和負責的主管一起訂好。

常見問題

OCR 可以辨識手寫字嗎?

有些服務可以,但要先看支援哪些語言。例如 Amazon Textract 能讀手寫,目前只限英文。中文手寫的筆跡差異很大,我們這次沒有測手寫,建議拿二三十張實際的手寫單據試過再決定,並把手寫欄位都列入人工確認。

OCR 線上可以辨識文字嗎?

可以。免費的有 Google 雲端硬碟的轉換功能,要整合進系統的有 Google Cloud、Azure、AWS 的付費 OCR 服務。線上服務的共同點是檔案會上傳到別人的伺服器,報價單、身分證件這類資料,用之前先確認對方怎麼保存。

掃描檔要多少解析度才夠?

Tesseract 官方建議至少 300 dpi,Google 雲端硬碟要求文字高度至少 10 像素。傾斜的頁面先轉正再辨識,Tesseract 的文件也把轉正列為改善品質的做法之一。

AI OCR 會不會把看不清楚的字直接猜出來?

會。我們在提示裡寫了「看不清楚就填空白」,gemma4 還是替被印章蓋住的總計填了一個數字。提示詞只能降低這種情況,金額、數量這類欄位,要靠驗算規則或人工確認把關。

參考來源

以下依官方文件整理,各服務的功能、支援語言與檔案限制以官方頁面當下為準。

從這篇繼續看相關內容

依文章主題整理同站文章、服務/產品與 FAQ 入口,讓下一步有清楚的閱讀方向。

延伸閱讀

下一步

服務入口

了解企業 AI 營運導入

名詞弄清楚之後,看 AI agent 怎麼接進既有系統,以及哪些動作要人工確認。

查看相關頁面

常見問題

AI 的 token 是什麼?

用量和費用怎麼算,先看一題直接回答。

查看 FAQ 解答

企業 AI 落地實踐

把文章裡的判斷帶回你的流程

從一個實際工作流開始,與 EthorX 共同釐清 AI agents 的導入起點。