사용자 도구

사이트 도구


pdf:ocrmypdf

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
pdf:ocrmypdf [2023/10/23 14:58]
kwon37xi [사용]
pdf:ocrmypdf [2024/01/26 16:15] (현재)
kwon37xi [PDF 용량 최적화]
줄 4: 줄 4:
   * [[ocr:tesseract|Tesseract OCR]]를 이용해 [[:pdf|PDF]] OCR / PDF 최적화 등을 수행해준다.   * [[ocr:tesseract|Tesseract OCR]]를 이용해 [[:pdf|PDF]] OCR / PDF 최적화 등을 수행해준다.
   * [[pdf:alpdf|알PDF]] : Windows 용 강력한 OCR 제공   * [[pdf:alpdf|알PDF]] : Windows 용 강력한 OCR 제공
 +  * [[https://github.com/ocrmypdf/OCRmyPDF-EasyOCR|OCRmyPDF EasyOCR Plugin]] - [[ocr:easyocr|EasyOCR]] 을 엔진으로 사용하게 해준다.
  
- 
-  * ''ocrmypdf'' 
  
  
 ===== 설치 ===== ===== 설치 =====
 +
 +==== homebrew ====
 +  * [[linux:linuxbrew|linuxbrew]] 로 가장 최신버전 설치 가능
 +
 +<code sh>
 +brew install ocrmypdf tesseract tesseract-lang
 +</code>
 +
 +=== Ubuntu ===
 <code sh> <code sh>
 sudo apt install ocrmypdf  tesseract-ocr-kor tesseract-ocr-kor-vert gscan2pdf sudo apt install ocrmypdf  tesseract-ocr-kor tesseract-ocr-kor-vert gscan2pdf
 </code> </code>
 +
 +=== docker ===
   * docker 기반으로 사용하는게 편할지도   * docker 기반으로 사용하는게 편할지도
-  * https://hub.docker.com/r/jbarlow83/ocrmypdf-alpine +  * https://hub.docker.com/r/jbarlow83/ocrmypdf-alpine # 더 최신 tesseract. 그러나 버그가 좀 있는듯. 
-  * https://hub.docker.com/r/jbarlow83/ocrmypdf-ubuntu+  * https://hub.docker.com/r/jbarlow83/ocrmypdf-ubuntu # 그냥 ocrmypdf 도 우분투버전임.
  
 ===== 사용 ===== ===== 사용 =====
줄 27: 줄 37:
     --deskew # 비틀림 보정     --deskew # 비틀림 보정
     --clean # 배경 깨끗하게      --clean # 배경 깨끗하게 
-    ---optimize 3  # PDF 용량 최적화. 최적화 안하려면 0+    --optimize 3  # PDF 용량 최적화. 최적화 안하려면 0
     <원본.pdf>     <원본.pdf>
     <OCR인식결과.pdf>     <OCR인식결과.pdf>
줄 38: 줄 48:
 </code> </code>
  
-===== 주의 =====+===== 인식률 높이기 ===== 
 +  * ''%%--deskew%%'' : 비틀어진 이미지를 똑바로 세워주고 그로인해 인식률 높아짐. 무조건 해주는게 좋다. 
 +  * ''%%--clean%%'' : [[https://www.flameeyes.com/projects/unpaper|unpaper]] 를 이용해 책 스캔된것을 깨끗하게 보정. 그러나 OCR 인식에서만 해당 이미지를 사용하고, 실제 출력에서는 원본 대로.
   * [[ocr:tesseract|Tesseract OCR]]가 여러 언어를 동시에 인식하면 인식률이 떨어진다는 얘기가 있으나, 그렇다고 ''ocrmypdf'' 로 언어를 따로따로 두번 인식시키면 앞서 인식한 언어 데이터는 사라지게 되므로 한 번에 모든 언어를 처리할 것.   * [[ocr:tesseract|Tesseract OCR]]가 여러 언어를 동시에 인식하면 인식률이 떨어진다는 얘기가 있으나, 그렇다고 ''ocrmypdf'' 로 언어를 따로따로 두번 인식시키면 앞서 인식한 언어 데이터는 사라지게 되므로 한 번에 모든 언어를 처리할 것.
  
 +
 +===== PDF 용량 최적화 =====
 +  * ''%%--optimize 숫자%%''
 +  * ''0'' : 최적화 안함
 +  * ''1'' : 원본 손상없이 최적화
 +  * ''2'', ''3'' : 원본 손상하면서 최적화 최대한
 +  * 아래 docker 이미지를 통한 스크립트로 하면 ''jbig2'' 라이브러리 설치 없이 처리 가능
 +<code sh>
 +#!/usr/bin/env bash
 +# 사용법 : pdf-opt.sh 원본.pdf
 +# 결과는 원본.opt.pdf
 +# alpine 버전은 버그가 많았음.
 +FILE_NAME_ONLY=`basename "$1" .pdf`
 +OPTIMIZED_NAME="${FILE_NAME_ONLY}.opt.pdf"
 +
 +docker run --rm -i --user "$(id -u):$(id -g)" --workdir /data -v "$PWD:/data" \
 +  jbarlow83/ocrmypdf --tesseract-timeout=0 --optimize 3 --skip-text \
 +  "/data/$1" "/data/$OPTIMIZED_NAME"
 +</code>
 +    * 현재 디렉토리에 있는 것만 처리해야함.
  
 ====== 참조 ====== ====== 참조 ======
   * [[https://superroot.tistory.com/263|PDF 문서 OCR 하는 법 | Free PDF OCR (ocrmypdf)]]   * [[https://superroot.tistory.com/263|PDF 문서 OCR 하는 법 | Free PDF OCR (ocrmypdf)]]
  
pdf/ocrmypdf.1698040711.txt.gz · 마지막으로 수정됨: 2023/10/23 14:58 저자 kwon37xi