리눅스2025. 8. 19. 22:39

OCRmyPDF는 pdf 문서에 대해 광학문자인식(OCR)을 해서 텍스트 정보가 포함된 pdf 파일을 만들어 준다. 이렇게 만들어진 pdf 파일에서는 문자열 검색이 가능하다. OCR은 테서랙트(tesseract)를 채용하고 있으며, 테서랙트에 대한 좀 더 자세한 내용은 이전 게시물을 참고하면 되겠다. 아래의 링크다.

테서랙트(tesseract) - 리눅스에서 광학문자인식(OCR)

OCRmyPDF는 오픈소스S/W이고, 깃허브(github) 페이지는 아래의 링크다.

https://github.com/ocrmypdf/OCRmyPDF

데비안/우분투 계열 배포판의 경우 공식 S/W 저장소에 포함되어 있으므로 간편하게 설치해서 사용할 수 있다.

# S/W 저장소 정보 갱신
sudo apt update

# ocrmypdf 패키지 설치
sudo apt install ocrmypdf

# tesseract 영어 및 한국어 인식용 패키지 설치
sudo apt install tesseract-ocr-eng
sudo apt install tesseract-ocr-kor
sudo apt install tesseract-ocr-kor-vert

테서랙트는 jpg 등 이미지 파일에 대해서 문자인식을 해 주는데, ocrmypdf는 pdf 파일을 직접 읽어서 테서랙트로 문자인식 작업을 해 주기 때문에 편리하다. 예를 들어 한국어와 영어로 된 pdf 문서 my_doc.pdf의 문자를 인식해서 텍스트 정보가 포함된 my_doc_searchable.pdf 파일을 만들 수 있다. 아래와 같이 하면 된다.

ocrmypdf -l eng+kor --rotate-pages --deskew my_doc.pdf my_doc_searchable.pdf

-l 옵션으로 언어를 지정하고, ---rotate-pages 옵션은 페이지 방향이 잘못된 경우 바로 잡아주고, ---deskew 옵션은 삐뚤어져 있을 경우 보정을 해 준다.

만약 pdf에서 인식된 텍스트만 별도의 파일로 추가 저장하고 싶다면 ---sidecar 옵션을 지정한다. 위의 예시에서 my_doc.txt 파일을 별도로 저장하려면 아래와 같이 하면 되겠다.

ocrmypdf -l eng+kor --rotate-pages --deskew --sidecar my_doc.txt my_doc.pdf my_doc_searchable.pdf

728x90
Posted by 반달가면