핵심 답변
스캔 PDF에서 글자가 선택되지 않는 가장 흔한 이유는 페이지가 문자 데이터가 아니라 이미지로 저장되어 있기 때문입니다. 이 경우 OCR로 이미지에서 문자를 인식해야 합니다. 다만 OCR은 글자를 만들어 주는 단계일 뿐, 표의 행·열이나 제목·본문 관계까지 자동으로 완성하는 것은 아닙니다.
PDF는 디지털·스캔·혼합 상태로 만날 수 있습니다
| 형태 | 문자 선택 | OCR | 주의할 점 |
|---|---|---|---|
| Digital PDF | 대체로 가능 | 보통 불필요 | 읽기 순서, 표 구조, 폰트 인코딩 |
| Scanned PDF | 대체로 불가능 | 필요 | 인식 오류, 회전, 저해상도, 도장 |
| Hybrid PDF | 페이지·영역마다 다름 | 선택적으로 필요 | 기존 텍스트와 OCR 텍스트의 중복·충돌 |
디지털 PDF는 워드프로세서나 업무시스템에서 직접 생성되어 문자와 위치 정보가 포함된 경우가 많습니다. 스캔 PDF는 종이 문서를 이미지로 찍어 페이지에 넣은 형태입니다. 혼합 PDF는 앞부분은 디지털 문서이고 뒤에는 스캔된 서명서나 증빙이 붙는 식으로 두 상태가 한 파일에 함께 존재할 수 있습니다.
글자를 선택할 수 있다는 것은 ‘텍스트층’이 있다는 신호입니다
PDF 뷰어에서 글자를 드래그하거나 검색할 수 있다면 대개 기계가 읽을 수 있는 문자 정보가 있습니다. 반대로 페이지가 사진처럼만 반응한다면 이미지 기반일 가능성이 큽니다. 하지만 이것만으로 절대 판단해서는 안 됩니다. 스캔 이미지 위에 OCR로 생성한 숨은 텍스트층을 덧씌운 PDF도 있기 때문입니다.
따라서 자동화에서는 파일 전체를 한 번에 “OCR 대상/비대상”으로 나누기보다, 페이지별로 문자량과 이미지 상태를 살펴보는 방식이 더 안전할 수 있습니다.
OCR은 이미지에서 문자 후보와 위치를 찾아 텍스트로 바꿉니다
OCR은 Optical Character Recognition의 약자로, 이미지 안에서 글자처럼 보이는 영역을 찾고 어떤 문자일 가능성이 높은지 추정합니다. 최근 문서 OCR 서비스는 문자열만 반환하지 않고 단어·문단 단위의 위치, 방향, 신뢰도 같은 정보도 함께 제공하는 경우가 많습니다.
- 페이지 이미지 확보 — PDF의 스캔 이미지를 입력으로 사용합니다.
- 문자 영역 탐지 — 글자가 있는 영역과 줄을 찾습니다.
- 문자 인식 — 이미지 패턴을 실제 문자로 변환합니다.
- 위치·신뢰도 부여 — 인식된 단어나 문단의 좌표와 confidence를 기록합니다.
- 후속 구조 분석 — 제목, 표, 키-값 등 문서 구조를 별도로 해석할 수 있습니다.
OCR은 왜 숫자·표·도장에서 특히 틀리기 쉬울까?
OCR 오류는 단순히 “한글을 잘 못 읽어서” 생기는 것이 아닙니다. 이미지 품질과 레이아웃 조건이 함께 영향을 줍니다.
| 조건 | 생길 수 있는 문제 |
|---|---|
| 낮은 해상도·흐림 | 획이 뭉개져 비슷한 글자를 혼동 |
| 기울기·회전 | 줄 탐지와 읽기 순서가 흔들림 |
| 도장·서명 겹침 | 원래 글자와 잉크가 하나의 패턴으로 인식 |
| 작은 표와 촘촘한 숫자 | 셀 경계와 문자가 겹쳐 숫자 누락·합침 |
| 비슷한 문자 | 0/O, 1/I/l, 쉼표·소수점 등을 혼동 |
| 팩스·압축 노이즈 | 점·선이 문자 획으로 오인됨 |
특히 금액, 계좌번호, 규격 수치, 날짜처럼 한 글자 차이가 의미를 크게 바꾸는 값은 전체 OCR 정확도가 높더라도 별도 검증이 필요합니다.
Confidence가 높다고 반드시 맞는 것은 아닙니다
일부 OCR·Document AI 서비스는 인식 결과에 confidence score를 제공합니다. 이는 모델이 해당 예측을 얼마나 확신하는지 나타내는 신호로 사용할 수 있지만, 정답 여부를 보증하는 값은 아닙니다. 잘못 읽은 숫자에도 높은 점수가 붙을 수 있고, 실제로 맞는 희귀 문자에는 낮은 점수가 나올 수 있습니다.
따라서 신뢰도는 자동 승인 기준 하나로 쓰기보다 어떤 결과를 사람이 다시 볼지 우선순위를 정하는 보조 신호로 사용하는 편이 안전합니다.
텍스트가 있는 PDF를 다시 OCR하면 오히려 정보가 나빠질 수 있습니다
이미 정확한 문자 데이터를 가진 디지털 PDF를 이미지로 렌더링한 뒤 다시 OCR하면 원래 문자 정보보다 오류가 늘 수 있습니다. 원본에는 정확하게 들어 있던 소수점이나 특수문자가 이미지 인식 과정에서 바뀔 수도 있습니다.
그래서 문서 처리 파이프라인은 먼저 native text가 충분히 있는지 확인하고, 없는 페이지나 영역만 OCR로 보완하는 전략을 사용할 수 있습니다. 혼합 PDF에서는 특히 이 판단이 중요합니다.
OCR을 많이 한다고 항상 더 정확해지는 것은 아닙니다. 원래 존재하는 기계 판독 가능한 텍스트는 최대한 보존하고, 이미지인 부분에만 OCR을 적용하는 것이 정보 손실을 줄이는 데 유리할 수 있습니다.
OCR이 끝나도 문서 구조 문제는 남습니다
OCR로 `입찰금액`, `100,000,000원`, `제출기한`, `2026.09.30` 같은 문자열을 정확하게 읽었다고 해도 어느 값이 어느 항목에 속하는지 연결해야 실제 데이터가 됩니다. 표라면 행·열·병합을 복원해야 하고, 2단 문서라면 올바른 읽기 순서를 찾아야 합니다.
Microsoft의 Layout 모델과 Google Document AI가 텍스트와 함께 paragraph, table, bounding region 같은 구조 정보를 다루는 이유도 이 때문입니다. OCR은 문서 이해의 출발점이지 항상 최종 단계는 아닙니다.
실제 PDF에서는 이 순서로 확인합니다
- 페이지에 native text가 있는지 확인합니다.
- 이미지 기반 페이지와 혼합 페이지를 구분합니다.
- 필요한 페이지에만 OCR을 적용합니다.
- 숫자·날짜·고유명사 같은 중요 값을 표본 검증합니다.
- 표와 문단의 구조, 읽기 순서를 별도로 확인합니다.
- 중요 결과가 원본 어느 페이지에서 나왔는지 다시 찾을 수 있게 유지합니다.
DOGURANG은 OCR을 하나의 처리 경로로 봅니다
DOGURANG의 관점에서 모든 PDF를 동일한 OCR 경로로 보내는 것보다, 먼저 원본 페이지의 성격을 확인하고 native text, render, OCR 중 어떤 신호가 필요한지 선택하는 것이 중요합니다. OCR 결과도 최종 진실로 고정하기보다 원문 이미지와 구조 결과를 다시 대조할 수 있어야 합니다.
문자 인식 이후의 구조 문제는 OCR과 Document AI는 무엇이 다른가에서, 표가 포함된 경우의 문제는 표가 많은 문서는 왜 텍스트 추출만으로 부족한가에서 이어서 설명합니다.
공식 참고자료
- Microsoft Learn — Document Intelligence Read OCR 모델
- Microsoft Learn — Document Intelligence Layout 모델
- Google Cloud — Document AI OCR 결과와 위치 정보
- Adobe — PDF와 OCR 관련 접근성 가이드
OCR 기능과 지원 언어, confidence 표현 방식은 제품과 버전에 따라 달라집니다. 실제 적용 전에는 현재 사용하는 OCR 엔진의 문서를 확인해야 합니다.