PDF OCR: 스캔한 문서에서 텍스트 추출하기
· 12분 읽기
목차
OCR이란 무엇인가?
OCR(광학 문자 인식)은 텍스트 이미지를 기계가 읽을 수 있는 텍스트로 변환합니다. 종이 문서를 PDF로 스캔하면 결과는 본질적으로 이미지 모음입니다. 텍스트를 볼 수는 있지만 선택하거나 검색하거나 복사할 수는 없습니다. OCR은 이러한 이미지를 분석하고 텍스트 내용을 추출합니다.
"검색 가능한 PDF"는 스캔한 이미지 뒤에 보이지 않는 텍스트 레이어가 배치되어 있습니다. 원본 스캔을 보면서도 Ctrl+F를 눌러 검색하고, 텍스트를 선택하여 복사하고, 스크린 리더가 접근성을 위해 내용을 소리 내어 읽을 수 있습니다. 이를 통해 스캔한 문서가 네이티브 디지털 PDF만큼 기능적으로 작동합니다.
OCR 기술은 지난 10년 동안 극적으로 발전했습니다. 초기 시스템은 템플릿 매칭에 의존했고 깨끗하고 고품질의 스캔이 필요했습니다. 현대 OCR 엔진은 손상된 문서, 여러 언어 및 복잡한 레이아웃을 놀라운 정확도로 처리할 수 있는 딥러닝 신경망을 사용합니다.
OCR의 가장 일반적인 사용 사례는 다음과 같습니다:
- 종이 아카이브 및 역사적 문서 디지털화
- 스캔한 계약서 및 법률 문서를 검색 가능하게 만들기
- 회계를 위한 송장 및 영수증에서 데이터 추출
- 인쇄된 책과 기사를 편집 가능한 텍스트로 변환
- 시각 장애인 사용자를 위한 접근성 활성화
- 기술 문서의 검색 가능한 저장소 생성
우리의 PDF OCR 도구를 사용하여 스캔한 PDF를 몇 초 만에 검색 가능하게 만드세요. 추가 처리가 필요한 문서의 경우 OCR 후 파일 크기를 줄이기 위해 PDF 압축기를 확인하세요.
OCR 작동 원리
현대 OCR 엔진은 이미지 분석과 텍스트 인식의 정교한 파이프라인을 통해 문서를 처리합니다. 이 프로세스를 이해하면 더 나은 결과를 위해 스캔을 최적화하는 데 도움이 됩니다.
이미지 전처리
텍스트 인식이 일어나기 전에 OCR 엔진은 이미지를 준비합니다:
- 기울기 보정 — 회전을 감지하고 수정합니다. 2도의 기울기만 있어도 정확도가 10-15% 감소할 수 있습니다. 엔진은 텍스트 기준선을 분석하고 이미지를 곧게 펍니다.
- 노이즈 제거 — 얼룩, 먼지 점 및 스캐너 아티팩트를 제거합니다. 이는 오래된 문서나 저품질 스캔에 중요합니다.
- 이진화 — 그레이스케일 또는 컬러 이미지를 순수한 흑백으로 변환합니다. 적응형 임계값 처리는 고르지 않은 조명과 그림자를 처리합니다.
- 대비 향상 — 희미한 텍스트를 선명하게 하고 텍스트와 배경 간의 구분을 개선합니다.
- 테두리 제거 — 여백과 비텍스트 영역을 잘라내어 실제 내용에 처리를 집중합니다.
레이아웃 분석
엔진은 텍스트를 읽기 전에 문서 구조를 이해해야 합니다:
- 텍스트 영역과 이미지, 다이어그램 및 공백 감지
- 열 식별 및 읽기 순서 결정(왼쪽에서 오른쪽, 위에서 아래)
- 표, 머리글, 바닥글 및 페이지 번호 인식
- 단락 분리 및 논리적 문서 흐름 유지
레이아웃 분석은 많은 OCR 시스템이 복잡한 문서에서 어려움을 겪는 부분입니다. 각주와 포함된 그림이 있는 2열 학술 논문은 올바른 읽기 순서를 유지하기 위해 정교한 분석이 필요합니다.
문자 분할
엔진은 인식을 위해 개별 문자나 단어를 분리합니다. 이 단계는 다음을 처리합니다:
- 접촉하거나 겹치는 문자 분리
- 필기체 또는 연결된 스크립트에서 문자 경계 식별
- 가변 간격 및 커닝 처리
- 특수 문자 및 기호 감지 및 보존
문자 인식
실제 텍스트 추출이 일어나는 곳입니다. 현대 엔진은 수백만 개의 문자 샘플로 훈련된 LSTM(장단기 메모리) 신경망을 사용합니다. 네트워크는 문자 모양, 컨텍스트 및 패턴을 분석하여 각 문자, 숫자 또는 기호를 식별합니다.
이전 템플릿 매칭 시스템과 달리 신경망은 글꼴 변형, 손상된 텍스트 및 비정상적인 문자 모양을 처리할 수 있습니다. 정확한 템플릿을 매칭하는 대신 패턴을 학습합니다.
후처리
최종 단계는 지능적인 수정을 통해 정확도를 향상시킵니다:
- 사전 조회 — 인식된 단어를 언어 사전과 비교하여 명백한 오류를 잡아냅니다
- 언어 모델 수정 — 통계 모델을 사용하여 컨텍스트를 기반으로 단어를 수정합니다(예: "teh"가 "the"가 됨)
- 신뢰도 점수 — 각 단어에 신뢰도 점수를 할당하여 불확실한 인식을 표시합니다
- 형식 보존 — 가능한 경우 굵게, 기울임꼴, 글꼴 크기 및 기타 서식을 유지합니다
전문가 팁: 전처리 단계는 가장 많은 제어권을 가질 수 있는 곳입니다. 깨끗하고 고해상도이며 대비가 좋은 스캔은 항상 저품질 이미지의 공격적인 후처리보다 우수한 성능을 발휘합니다.
중요한 정확도 요인
OCR 정확도는 입력 품질과 문서 특성에 따라 크게 달라집니다. 이러한 요인을 이해하면 스캔 프로세스를 최적화하고 현실적인 기대치를 설정하는 데 도움이 됩니다.
| 요인 | 영향 수준 | 권장사항 |
|---|---|---|
| 스캔 해상도 | 높음 | 최소 300 DPI. 깨끗한 텍스트는 200 DPI. 작은 글꼴이나 손상된 문서는 400+ DPI. |
| 이미지 품질 | 높음 | 균일한 조명, 그림자 없음, 평평한 페이지(책 등뼈의 곡선 없음). 문서 공급기 또는 평판 스캐너 사용. |
| 글꼴 유형 | 중간-높음 | 표준 글꼴(Arial, Times): 98%+ 정확도. 장식/손글씨: 60-80%. 세리프 글꼴이 일반적으로 산세리프보다 쉬움. |
| 언어 | 중간 | 라틴 문자: 최고 지원. CJK(중국어/일본어/한국어): 좋음. 아랍어/데바나가리: 개선 중이지만 덜 성숙함. |
| 문서 연령 | 중간 | 희미한 잉크, 누렇게 변한 종이 및 오래된 서체는 정확도를 감소시킵니다. 중요한 역사적 문서는 수동 정리를 고려하세요. |
| 레이아웃 복잡성 | 중간 | 단일 열: 쉬움. 다중 열, 표, 혼합 콘텐츠: 어려움. 수동 확인이 필요할 수 있습니다. |
| 기울기 각도 | 낮음-중간 | 자동 기울기 보정은 최대 10도까지 잘 처리합니다. 그 이상은 OCR 전에 수동으로 회전하세요. |
| 배경 노이즈 | 중간 | 워터마크, 스탬프 및 배경 패턴은 OCR을 혼란스럽게 합니다. 깨끗한 스캔 또는 전처리 필터를 사용하세요. |
해상도 심층 분석
스캔 해상도는 OCR 정확도에 영향을 미치는 가장 제어 가능한 단일 요인이기 때문에 특별한 주의가 필요합니다. 다음은 다양한 해상도가 실제로 의미하는 바입니다:
- 150 DPI — 거의 사용할 수 없습니다. 크고 깨끗한 텍스트(18pt+)에만 해당. 70-80% 정확도 예상.
- 200 DPI — 10-12pt 글꼴의 표준 문서에 허용 가능. 약 90-95% 정확도.
- 300 DPI — 최적의 지점. 95-99% 정확도로 대부분의 문서를 처리합니다. 업계 표준.
- 400-600 DPI — 작은 글꼴(8pt 이하), 손상된 문서 또는 거의 완벽한 정확도가 필요할 때 필요합니다.
- 600+ DPI — 대부분의 사용 사례에 과도합니다. 최소한의 정확도 향상으로 거대한 파일을 생성합니다. 보관 목적이나 극도로 작은 텍스트에만 사용하세요.
더 높은 해상도는 더 큰 파일 크기를 의미합니다. 레터 크기 페이지의 300 DPI 컬러 스캔은 압축되지 않은 상태에서 약 25MB입니다. 품질 요구 사항과 저장 및 처리 시간의 균형을 맞추세요.
빠른 팁: 책을 스캔하는 경우 등뼈 근처의 곡선 페이지를 보상하기 위해 400 DPI를 사용하세요. 책 가장자리의 왜곡은 정확도를 유지하기 위해 추가 해상도가 필요합니다.
OCR 엔진 비교
여러 OCR 엔진이 오픈 소스 및 상용 환경을 지배하고 있습니다. 각각은 사용 사례에 따라 장단점이 있습니다.
Tesseract OCR
Tesseract는 가장 인기 있는 오픈 소스 OCR 엔진으로, 원래 HP에서 개발했으며 현재 Google에서 유지 관리하고 있습니다. 대부분의 CLI 도구 및 라이브러리의 기본 엔진입니다.
장점:
- 완전히 무료이며 오픈 소스
- 기본적으로 100개 이상의 언어 지원
- 활발한 개발 및 정기적인 업데이트
- 우수한 문서 및 커뮤니티 지원
- 표준 문서 및 깨끗한 스캔에서 잘 작동
단점:
- 복잡한 레이아웃 및 표에서 어려움
- 손상되거나 역사적인 문서에서 낮은 정확도
- 최적의 결과를 위해 좋은 전처리 필요
- 제한된 형식 보존(굵게, 기울임꼴 등)
최적 용도: 범용 OCR, 일괄 처리, 애플리케이션 통합, 예산 중심 프로젝트.
ABBYY FineReader
ABBYY는 OCR 정확도의 상용 골드 스탠다드입니다. 비싸지만 어려운 문서에서 우수한 결과를 제공합니다.
장점:
- 최고 정확도율(좋은 스캔에서 99%+)
- 우수한 레이아웃 보존 및 형식 감지
- 복잡한 표, 양식 및 다중 열 레이아웃 처리
- 손상된 문서에서 우수한 성능
- 내장 문서 비교 및 편집 도구
단점:
- 비싼 라이선스(사용자당 수백 달러)
- Windows 전용 데스크톱 애플리케이션(제한된 Linux 지원)
- 간단한 문서에는 과도함
- 사용자 정의 옵션이 없는 폐쇄 소스
최적 용도: 전문 문서 관리, 법률/의료 문서, 품질 요구 사항이 있는 보관 프로젝트.
Google Cloud Vision API
Google의 클라우드 기반 OCR 서비스는 Google의 문서 스캔 기능을 구동하는 동일한 기술을 활용합니다.
장점:
- 현대 신경망으로 우수한 정확도
- 대부분의 대안보다 손글씨를 더 잘 처리
- 자동 언어 감지
- 대량에 대해 손쉽게 확장
- 문서 구조 분석 포함
단점:
- 인터넷 연결 및 API 호출 필요
- 무료 등급 이후 비용 발생(월 1,000페이지)
- 민감한 문서에 대한 개인 정보 보호 문제
- 벤더 종속 및 Google 인프라에 대한 의존성
최적 용도: 인터넷 액세스가 있는 애플리케이션, 다양한 문서 유형, 손글씨 인식이 필요한 프로젝트.
Amazon Textract
AWS의 문서 분석 서비스는 양식 및 표에서 구조화된 데이터 추출에 중점을 둡니다.
장점:
- 우수한 양식 및 표 추출
- 자동 키-값 쌍 감지
- AWS 생태계와 원활하게 통합
- 비즈니스 문서에서 좋은 정확도
단점:
- Google Cloud Vision보다 비쌈
- 일반 텍스트 추출만 필요한 경우 과도함
- AWS 계정 및 설정 필요
최적 용도: 송장 처리, 양식 디지털화