快轉到主要內容

OCRmyPDF,Linux開源OCR軟體,將PDF或圖片轉成文字進行編輯

分類   Linux系統 Linux好用軟體
標籤   Optical Character Recognition LibreOffice Tesseract
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

OCR即是光學字元辨識。

我聽說Windows有「ABBYY FineReader」、「Adobe Acrobat」的專有軟體,能夠將PDF檔案OCR之後變成可編輯的文字,於是我就想在LInux找開源替代品。

正好我手頭上有些設計不良的PDF檔案,裡面文字全部都沒辦法複製也無法搜尋,所以需要一個工具將它們OCR後變成可複製的文字格式。

英文PDF文件範例

中文PDF文件範例

1. OCR方案探討
#

如果需要PDF編輯功能的,那麼 LibreOffice Draw便足以勝任。

接著要搞定OCR的部份。

通常Linux的OCR都是使用Google釋出的開源Tesseract引擎,支援中文、英文、日文等多國語言。

Github有很多專案,其中功能最多的應該是這款: LIOS (Linux-intelligent-ocr-solution)。感覺設計不良,安裝後開不起來,可能是GTK版本太老了?

NormCap,擷圖後OCR,僅支援英文,可以用Flatpak一鍵安裝。

TextSnatcher,圖片OCR。可以用Flatpak一鍵安裝。

Pot 派了个萌的翻译器,劃詞翻譯器,支援OCR。

OCRmyPDF,命令行PDF轉檔工具,OCR後給PDF加上文字圖層方便後續編輯。英文和中文支援度不錯。

另外還有一款 ocrfeeder,Gnome的OCR閱讀器,ㄟ…不太好用。

從上述方案來看,還是OCRmyPDF最好了吧。

2. 安裝OCRmyPDF
#

根據 OCRmyPDF官方文件

因為使用Tesseract引擎,需要先安裝對應語言的套件,Ubuntu套件庫多半有收。例如我要安裝英文與正體中文的套件:

sudo apt search tesseract-ocr

sudo apt install tesseract-ocr-eng tesseract-ocr-chi-tra tesseract-ocr-chi-tra-vert

接著再安裝OCRmyPDF套件

sudo apt install ocrmypdf

3. OCRmyPDF用法
#

在要處理PDF檔案的目錄開啟終端機。

指定語言為英文,設定輸出為標準PDF(預設的PDF/A格式輸出後便無法修改),再指定輸入檔案為input.pdf與輸出檔案output.pdf

ocrmypdf -l eng --output-type pdf input.pdf output.pdf

如果PDF檔案是英中混合,那就加上多個語言參數:

ocrmypdf -l eng+chi_tra --output-type pdf input.pdf output.pdf

關於中文漢字掃描後出現多餘空格問題:這個是Tesseract本身的問題,目前沒有解決方式。

等待辨識轉檔完成,新的PDF就能夠選取文字了。

在LibreOffice Draw開啟的時候,OCR辨識到的文字會成為一個圖層,可以與原始檔案分離。

相關文章

如何在Linux系統安裝LibreOffice文書處理軟體
分類   Linux系統 Linux好用軟體
標籤   Ubuntu LibreOffice Microsoft Office
SSH X11 Forwarding教學,將遠端Linux圖形程式拉到本機X視窗執行
分類   Linux系統 Linux好用軟體
標籤   X Window
電腦遠端控制iPad,利用BTK將Linux模擬成藍牙鍵盤&滑鼠
分類   Linux系統 Linux好用軟體
標籤   IOS Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。