[개발 일지] 문자 PDF와 스캔 PDF를 다르게 처리한 이유: 구분법과 처리 순서

PDF 문서 검수 기준 썸네일

한 줄 요약: PDF 자동화에서 결과를 믿기 위해 나는 원문 텍스트, 이미지 속 문자, 실제 화면을 각각 따로 보는 기준을 세웠습니다. 추출 결과 하나만 맞아도 문서 전체가 정상이라는 뜻은 아니었습니다.

문자 정보가 있는 문서와 이미지 문서는 다르다

원래 문자 정보가 포함된 PDF는 텍스트 추출 결과를 먼저 확인할 수 있습니다. 반면 스캔본이나 이미지 중심 문서는 OCR 과정이 필요합니다. 두 결과는 같은 문장을 다루더라도 오류가 생기는 지점이 달라, 한 번의 결과만으로 처리 성공을 판단하면 놓치는 항목이 생겼습니다.

내가 확인한 순서

  1. 텍스트: 필요한 문자가 읽히고 순서가 크게 달라지지 않는지 확인합니다.
  2. 이미지 문자: OCR이 필요한 페이지는 별도로 확인합니다.
  3. 화면: 페이지를 실제로 열어 표·이미지·줄바꿈·빈 페이지를 다시 봅니다.

이 순서는 복잡한 규칙보다, 문제가 생겼을 때 원인을 구분하려는 최소한의 기록입니다.

인쇄 종이와 스캔 종이가 놓인 책상 사진

왜 개발일지로 남겼나

나는 결과 파일만 보고 끝내지 않고 검수 기준도 함께 남기려 했습니다. 그래야 다음 작업에서 같은 문제를 다시 만났을 때 처음부터 추측하지 않고, 어느 단계가 달랐는지 확인할 수 있기 때문입니다. 이 글은 내가 직접 작업에서 사용한 판단 순서를 정리한 기록입니다.

공개 범위: 원문 파일, 문서 화면, 내부 경로와 실행 로그는 공개하지 않습니다. 공개 가능한 기준만 새 글로 구성했습니다.

두 종류를 먼저 구분하는 이유

PDF는 겉보기에 같아 보여도 안에 든 것이 다릅니다. 처리 방법을 정하기 전에 이걸 먼저 확인해야 합니다.

  • 문자 정보가 있는 PDF — 문서 프로그램에서 만든 파일입니다. 선택과 복사가 되고, 추출하면 원문 그대로 나옵니다.
  • 이미지 중심 PDF — 스캔본이나 사진입니다. 화면에 글자가 보여도 파일 안에는 그림만 있습니다.
  • 섞인 PDF — 앞부분은 문자, 뒤에 스캔한 부록이 붙은 경우처럼 페이지마다 다릅니다.

구분하는 방법

  • 뷰어에서 본문을 드래그해 봅니다. 선택되면 문자 정보가 있는 것입니다.
  • 검색 기능으로 본문에 있는 단어를 찾아 봅니다. 안 잡히면 이미지입니다.
  • 페이지마다 다를 수 있으니 앞·중간·뒤를 각각 확인합니다.
  • 파일 용량이 페이지 수에 비해 지나치게 크면 이미지일 가능성이 높습니다.

종류에 따라 달라지는 처리 순서

  • 문자 PDF — 추출을 먼저 하고, 결과가 이상한 페이지만 따로 봅니다. OCR을 돌리면 오히려 품질이 떨어집니다.
  • 이미지 PDF — 전처리(기울기 보정, 대비 조정)를 먼저 하고 OCR을 돌립니다.
  • 섞인 PDF — 페이지를 두 묶음으로 나눠 각각 다르게 처리한 뒤 합칩니다.

한 파일에 한 가지 방법만 적용하면 섞인 문서에서 절반이 망가집니다.

공식 도움말이 밝히는 문자 추출과 OCR의 조건

아래는 제조사 도움말과 오픈소스 OCR 문서에 적힌 조건을 독자용으로 옮긴 것입니다. 이 글 작성자의 경험이 아니라 각 문서에 적힌 내용이며, 도구와 버전에 따라 달라질 수 있습니다.

Google 드라이브 도움말은 PDF나 사진 속 글자를 문서로 바꾸는 방법으로, 드라이브에서 파일을 오른쪽 클릭한 뒤 연결 프로그램 > Google Docs로 여는 절차를 안내합니다. 이 도움말이 적은 조건은 다음과 같습니다.

항목도움말에 적힌 내용
파일 크기2MB 이하
지원 형식여러 쪽 PDF, jpeg·png·gif 사진
글자 크기높이 10픽셀 이상
방향바로 선 문서여야 하며, 옆으로 누운 이미지는 돌려서 올림
글꼴과 화질Arial·Times New Roman 같은 흔한 글꼴, 선명하고 조명이 고른 이미지
언어문서 언어를 자동으로 감지하며, 한국어를 포함한 여러 언어를 지원
서식굵게·기울임·글자 크기·글꼴·줄바꿈은 유지될 가능성이 높고, 목록·표·단·각주·미주는 인식되지 않을 가능성이 높음

이 표에서 실무적으로 눈여겨볼 곳은 마지막 줄입니다. 글자는 읽혀도 표와 단 구성이 풀어지면 문장 순서가 달라질 수 있으므로, 표가 많은 문서는 변환 결과를 원본 쪽과 나란히 대조해야 합니다.

오픈소스 OCR 엔진 Tesseract의 품질 개선 문서는 입력 이미지를 손볼 때의 기준을 이렇게 정리합니다. 해상도는 300 DPI 이상일 때 잘 작동하고, 기울어진 쪽은 줄 인식이 흐트러지므로 글줄이 수평이 되도록 돌려야 합니다. 배경 밝기가 고르지 않으면 기본 이진화(Otsu)가 최선이 아닐 수 있고, 5.0.0 버전부터 Adaptive Otsu와 Sauvola 방식이 추가되었습니다. 글자가 가장자리에 붙어 있으면 약 10픽셀 정도 여백을 두는 편이 좋지만 여백이 너무 크면 빈 페이지로 읽힐 수 있고, 스캐너의 어두운 테두리는 글자로 잘못 읽힐 수 있으니 지우라고 합니다.

문자 정보가 있는 PDF인지 가려내는 가장 쉬운 시험은 검색입니다. macOS 미리보기 사용자 가이드는 도구 막대의 검색창에 단어를 입력하면 입력한 구절이 그대로 일치하는 결과를 찾고, 돋보기에서 ‘Any Match’를 고르면 구절 속 단어 하나만 맞아도 찾는다고 설명합니다. 결과는 일치도 순서 또는 쪽 순서로 정렬할 수 있습니다. 다만 이 가이드는 스캔 PDF에서도 검색되는지는 다루지 않으므로, 검색이 되는지 여부는 직접 시험해 보는 수밖에 없습니다.

시험결과가 뜻하는 것
본문 단어가 검색됨문자 정보가 들어 있을 가능성이 높아 추출을 먼저 시도
검색은 안 되고 화면에는 글자가 보임이미지 중심 문서일 가능성이 높아 OCR 전처리 대상
앞쪽은 검색되고 뒤쪽은 안 됨섞인 문서로 보고 쪽 묶음을 나눠 처리

확인 자료

기준일: 2026-10-18