2018年2月1日 星期四

不用辨識軟體--超大文字掃描圖形檔(pdf)中文辨識(OCR)攻略--pdf大檔的拆解、合併及壓縮

  曾經寫過〔辨識--好用的手機APP Google Translate;及網頁Google文件〕這篇文章介紹一點辨識的方法。但若pdf的檔案太大就不能傳到google硬碟辨識了(轉換 Google 文件,大小上限則是 50 MB。)。
  今天接到幾百Mb(有的有1Gb)的檔案,當然是不行囉!
  先是用手機拍照→google翻譯的辨識方法,但有些操作不便(要換頁、拍照、辨識後轉貼寄出),而且速度又慢,於是想辦法解決它。最後終於找到了解決的方法☺


1.安裝imagemagick:
  #sudo apt-get install imagemagick
2.將圖形pdf轉ppm
  #pdftoppm a.pdf a (將a.pdf拆為一張張ppm圖檔)
3.將多頁ppm轉pdf
  #convert a-0?.ppm a-1?.ppm a-0.pdf (將a-0及a-1開頭的所有ppm,依檔案名稱順序合併成一個pdf檔)
4.將大pdf檔壓縮為小檔案(安裝Ghostscript)
  # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-0T.pdf a-0.pdf (將a-0.pdf檔壓縮為較小檔案a-0T.pdf)

5.將轉好的pdf檔傳到Google硬碟。
6.傳上去後,按右鍵,選擇使用google文件開啟,等一下了就幫你辨識好了。
7.按[Ctrl+A]全選,複製貼到文字檔,OK
======
附註1:若是pdf本來就是文字格式轉成的,那麼直接轉換即可
  #pdftotext a.pdf a.txt
======
附註2:網路上有人介安裝tesseract辨識軟體,經測試結果,英文沒問題,中文則不管橫式或直式都不行(橫式中文效果稍好,但還是不行),方法如下:
1.安裝:
  #sudo apt-get install gocr
  #sudo apt-get install tesseract-ocr
  #sudo apt-get install libtiff-tools
2.安裝tesseract-ocr後,到synaptic安裝語言包
(或到官網上下載中文語言包,比如繁體的就是chi_tra(簡體chi_sim),然後加入到一個環境變量中
  #sudo mv chi_tra.traineddata /usr/local/share/tessdata
  #export TESSDATA_PREFIX=/usr/local/share/
3.執行辨識
  #tesseract a1.ppm a1.txt -l chi_tra
(若發生錯誤訊息,則登出再登入,即可執行)

沒有留言:

張貼留言