Excel VBA OCR 文字辨識 - 會計
By Kama
at 2020-06-19T23:52
at 2020-06-19T23:52
Table of Contents
### OCR是什麼
OCR,全名Optical Character Recognition,中譯光學字元辨識,
因實務上還滿常聽到有這個需求要將圖片或PDF轉成文字,
以下分享一下研究心得以及如何在VBA裡如何使用Tesseract-OCR達到上述目標。
### OCR實際應用
實際應用舉例如下:
1. 各大會計師事務所的財報搜尋系統基於OCR技術才得以實現,先蒐集所有公開發行
以上的公司財報,使用OCR軟體,例如Adobe Acrobat、Abbyy或Ominpage等軟體將PDF
轉成可搜尋(searchable)的PDF,並將其字元存入資料庫,最後再以網頁的方式渲染出查詢
結果。
2. 因應IFRS 16,若有大量辨識租約掃描檔的需求,也可通過上述方法搜尋關鍵字。
3. 各大事務所在推的RPA(流程機器人),其中最常用的RPA工具-UiPath,
它裡面的函式庫所可以做到將圖片轉成文字的功能,即是使用此篇文章要介紹的
Tesseract文字辨識引擎。
### Tesseract-OCR
Windows下載:https://github.com/UB-Mannheim/tesseract/wiki
Github:https://github.com/tesseract-ocr/tesseract
Tesseract是一開源OCR引擎,此開源專案目前由Google維護,支援超過100種語言,
以其辨識精準度及可訓練辨識資料(training data)著稱,雖是由C++寫成,
但其餘高階程式語言,例如Python、Java、.Net都有包裝器(Wrapper)可直接調用其
函式。
### VBA使用Tesseract-OCR
影片教學:https://youtu.be/0Wx1Xk5WYX0
範例下載(xlsm):https://tinyurl.com/ybj3dfhz
此教學難度較高,還需要加環境變數等,只下載上面的檔案是沒辦法跑的,
如果想操作的可以看影片跟著操作,然後因為有些外國人會看我的教學,
原諒我的破英文..
範例是辨識英文圖片,若要辨識中文,其他程式語言還好處理,
但在VBA若要傳回中文會比較麻煩,VBA作為一古老語言,
並沒有很好的處理多語系的問題,
例如在命令提式字元(CMD)使用以下指令:
C:\..\tesseract "imagePath" stdout -l chi_tra
可得到中文辨識結果,但在VBA使用Shell執行會變成亂碼,
實際應用還是使用別種語言會方便得多。
--
Accoding: https://www.facebook.com/AccodingTW/
--
OCR,全名Optical Character Recognition,中譯光學字元辨識,
因實務上還滿常聽到有這個需求要將圖片或PDF轉成文字,
以下分享一下研究心得以及如何在VBA裡如何使用Tesseract-OCR達到上述目標。
### OCR實際應用
實際應用舉例如下:
1. 各大會計師事務所的財報搜尋系統基於OCR技術才得以實現,先蒐集所有公開發行
以上的公司財報,使用OCR軟體,例如Adobe Acrobat、Abbyy或Ominpage等軟體將PDF
轉成可搜尋(searchable)的PDF,並將其字元存入資料庫,最後再以網頁的方式渲染出查詢
結果。
2. 因應IFRS 16,若有大量辨識租約掃描檔的需求,也可通過上述方法搜尋關鍵字。
3. 各大事務所在推的RPA(流程機器人),其中最常用的RPA工具-UiPath,
它裡面的函式庫所可以做到將圖片轉成文字的功能,即是使用此篇文章要介紹的
Tesseract文字辨識引擎。
### Tesseract-OCR
Windows下載:https://github.com/UB-Mannheim/tesseract/wiki
Github:https://github.com/tesseract-ocr/tesseract
Tesseract是一開源OCR引擎,此開源專案目前由Google維護,支援超過100種語言,
以其辨識精準度及可訓練辨識資料(training data)著稱,雖是由C++寫成,
但其餘高階程式語言,例如Python、Java、.Net都有包裝器(Wrapper)可直接調用其
函式。
### VBA使用Tesseract-OCR
影片教學:https://youtu.be/0Wx1Xk5WYX0
此教學難度較高,還需要加環境變數等,只下載上面的檔案是沒辦法跑的,
如果想操作的可以看影片跟著操作,然後因為有些外國人會看我的教學,
原諒我的破英文..
範例是辨識英文圖片,若要辨識中文,其他程式語言還好處理,
但在VBA若要傳回中文會比較麻煩,VBA作為一古老語言,
並沒有很好的處理多語系的問題,
例如在命令提式字元(CMD)使用以下指令:
C:\..\tesseract "imagePath" stdout -l chi_tra
可得到中文辨識結果,但在VBA使用Shell執行會變成亂碼,
實際應用還是使用別種語言會方便得多。
--
Accoding: https://www.facebook.com/AccodingTW/
--
Tags:
會計
All Comments
By Bennie
at 2020-06-23T20:20
at 2020-06-23T20:20
Related Posts
IFRS 9、15、16專班相關課程講義
By Sandy
at 2020-06-19T09:42
at 2020-06-19T09:42
108萬華稅法課本
By Charlie
at 2020-06-18T22:28
at 2020-06-18T22:28
今年大型事務所徵人問題
By Ivy
at 2020-06-18T22:06
at 2020-06-18T22:06
【Excel日期函數】月底計算利息
By Sierra Rose
at 2020-06-18T17:10
at 2020-06-18T17:10
t字表問題
By Selena
at 2020-06-18T15:43
at 2020-06-18T15:43