PDF를 AI 워크플로우에 넣기 전에 텍스트부터 확인하기
WSL이나 리눅스에서 PDF를 텍스트로 뽑아 AI 요약·분류 자동화에 넘기기 전, 스캔본·줄바꿈·표·숫자 오류를 먼저 확인하는 실전 점검법입니다.
왜 필요한가 · PDF를 바로 AI에게 넘기면 요약은 그럴듯해도, 실제로 AI가 읽은 텍스트가 원본과 다를 수 있기 때문입니다.
누구에게 · WSL·리눅스 터미널에서 PDF를 텍스트로 추출해 AI 요약, 분류, 자동화 흐름에 연결해 보려는 입문자
읽고 나면 · PDF가 텍스트 기반인지 스캔본인지 구분하고, 추출 결과의 줄바꿈·표·숫자·반복 문구를 확인한 뒤 AI 워크플로우에 넣을지 판단할 수 있습니다.
핵심 요약
- AI가 PDF 화면을 그대로 읽는다고 생각하면 위험합니다. 실제 자동화는 PDF에서 꺼낸 텍스트를 입력으로 삼습니다.
- 문장 하나를 복사해 보는 것만으로도 텍스트 PDF와 스캔 PDF를 어느 정도 구분할 수 있습니다.
- 표와 숫자가 많은 PDF는 AI 요약 결과보다 추출 텍스트와 원본 대조가 먼저입니다.
- 개인정보나 계약·정산 자료는 자동화 편의보다 입력 데이터 검수와 보안 판단이 우선입니다.
PDF를 AI 워크플로우에 붙일 때 처음에는 일이 아주 단순해 보입니다. PDF 파일을 넣고, 텍스트를 뽑고, 그 결과를 AI에게 넘기면 요약이나 분류가 끝날 것 같습니다. 실제로 작은 문서에서는 그렇게 보이기도 합니다.
그런데 문제는 “AI 답변이 자연스럽다”와 “AI가 원본을 제대로 읽었다”가 같은 말이 아니라는 데 있습니다. WSL이나 리눅스 터미널에서 PDF를 텍스트로 추출해 보면, 화면에서 보던 문서와 자동화가 읽은 텍스트가 꽤 다르게 나오는 경우가 있습니다.
저는 PDF 작업을 자동화할 때 이제 프롬프트부터 만지지 않습니다. 먼저 확인하는 것은 AI에게 넘기기 전의 입력 텍스트입니다.
자동화가 보는 것은 PDF 화면이 아니라 추출된 텍스트다
사람은 PDF를 볼 때 레이아웃을 같이 봅니다. 제목은 제목처럼 보이고, 표의 행과 열은 눈으로 맞춰 읽고, 페이지 번호나 꼬리말은 알아서 무시합니다.
하지만 자동화 흐름은 보통 다릅니다. 대략 이런 순서가 됩니다.
- PDF 파일을 읽는다
- PDF에서 텍스트를 추출한다
- 추출된 텍스트를 AI에게 넘긴다
- AI가 요약·분류·정리를 한다
여기서 2번이 틀어지면 뒤의 3번과 4번도 같이 틀어집니다. AI가 아무리 답을 잘해도, 입력이 잘못 들어가면 그럴듯하게 틀린 결과가 나옵니다.
먼저 문장 하나를 복사해 본다
가장 단순한 1차 확인은 PDF에서 문장 하나를 드래그해서 복사해 보는 것입니다. 별것 아닌 확인처럼 보이지만, 이 단계에서 꽤 많은 문제가 드러납니다.
- 문장이 자연스럽게 복사되는가
- 줄이 문장 중간에서 이상하게 끊기지 않는가
- 한글이 깨지지 않는가
- 표 안의 글자가 엉뚱한 순서로 붙지 않는가
- 아예 선택이 안 되는 이미지 PDF는 아닌가
텍스트가 자연스럽게 복사되면 일단 출발점은 괜찮습니다. 반대로 선택이 안 되거나 줄바꿈이 심하게 깨지면 OCR이나 후처리 단계를 따로 생각해야 합니다.

위 이미지는 실제 업무 문서가 아니라 문제 상황을 재현한 샘플입니다. 핵심은 하나입니다. 화면에서는 한 문단처럼 보여도, 복사한 텍스트는 다른 구조일 수 있습니다.
텍스트 PDF와 스캔 PDF를 구분한다
PDF는 겉보기에는 비슷해도 내부 구조가 다릅니다.
텍스트 PDF는 문서 안에 글자 정보가 들어 있습니다. 그래서 드래그와 복사가 비교적 잘 됩니다. 이런 문서는 pdftotext 같은 도구나 라이브러리로 텍스트를 뽑는 흐름을 만들기 쉽습니다.
스캔 PDF는 종이를 사진처럼 넣어 둔 문서에 가깝습니다. 사람 눈에는 글자가 보이지만, 컴퓨터 입장에서는 이미지입니다. 이 경우 OCR로 글자를 읽어야 합니다.
OCR이 들어가면 난이도가 한 단계 올라갑니다. 글자를 읽는 것뿐 아니라, 흐릿한 숫자, 도장, 서명, 두 단 편집, 표 구조까지 같이 문제가 됩니다.
WSL·리눅스에서는 작은 샘플 파일로 먼저 시험한다
터미널에서 PDF 처리를 시작할 때는 처음부터 전체 폴더를 돌리지 않는 편이 좋습니다. 샘플 PDF 하나로 흐름을 확인한 뒤에 범위를 넓혀야 합니다.
예를 들어 pdftotext를 쓴다면, 먼저 설치 여부부터 확인합니다.
pdftotext -v
명령을 찾을 수 없다면 우분투에서는 보통 아래 패키지에 들어 있습니다.
sudo apt update
sudo apt install poppler-utils
그다음 바로 대량 처리하지 말고, 샘플 하나만 텍스트로 뽑아 봅니다.
pdftotext sample.pdf sample.txt
그리고 결과 파일을 엽니다.
less sample.txt
이때 확인할 것은 “파일이 만들어졌는가”가 아닙니다. 진짜 확인할 것은 아래입니다.
- 문단 순서가 원본과 비슷한가
- 제목과 본문이 섞이지 않았는가
- 페이지 번호가 본문처럼 들어오지 않았는가
- 표의 항목과 숫자가 떨어져 나가지 않았는가
- 한글이 깨지지 않았는가
이 확인 없이 바로 AI에게 넘기면, 나중에는 어디서 틀어졌는지 찾기가 더 어려워집니다.
표가 있는 PDF는 특히 조심한다
PDF 자동화에서 가장 자주 틀어지는 곳은 표입니다. 화면에서 보면 표는 명확합니다. 항목, 금액, 비고가 행과 열로 정리되어 있습니다.
하지만 텍스트로 뽑으면 행과 열의 관계가 사라질 수 있습니다.

예를 들어 원본에서는 서버 비용 옆에 50,000원이 붙어 있었는데, 추출 텍스트에서는 항목들이 먼저 나오고 숫자들이 나중에 몰려 나올 수 있습니다. 이 상태에서 AI에게 “비용표로 정리해줘”라고 하면, AI는 다시 깔끔한 표를 만들어 줍니다.
문제는 그 표가 원본과 같다는 보장이 없다는 점입니다. AI는 흩어진 값을 그럴듯하게 다시 맞춰 놓을 수 있습니다. 특히 견적서, 정산표, 매출표, 사용량 보고서처럼 숫자가 중요한 문서는 이 과정을 건너뛰면 위험합니다.
머리말·꼬리말·페이지 번호도 입력 오염이다
여러 페이지짜리 PDF를 텍스트로 추출하면 본문과 상관없는 문구가 반복해서 들어오는 일이 많습니다.
- 문서 제목
- 회사명
- 페이지 번호
- 작성일
- 저작권 문구
- 워터마크
사람은 이런 정보를 자연스럽게 무시하지만, AI에게 넘기는 입력에는 그대로 들어갑니다. 그러면 요약문에 같은 문구가 반복되거나, 페이지 번호가 본문 숫자처럼 섞이는 일이 생깁니다.
그래서 저는 긴 PDF를 다룰 때, AI 프롬프트를 고치기 전에 먼저 추출 텍스트를 봅니다. 반복되는 꼬리말이 계속 들어오고 있다면 그것은 프롬프트 문제가 아니라 입력 정리 문제입니다.
숫자와 날짜는 AI에게 보정시키지 않는다
OCR이나 추출 과정에서 숫자는 특히 조심해야 합니다.
0과O1과l- 쉼표와 마침표
- 마이너스 기호
- 날짜의 구분자
- 버전 번호
사람이 보면 어색한 10,00 같은 값도 AI는 문맥을 보고 자연스럽게 고쳐 버릴 수 있습니다. 겉보기에는 좋아 보이지만, 원본과 다르면 틀린 결과입니다.
숫자가 중요한 문서는 AI가 알아서 보정해 주는 것이 오히려 위험합니다. 금액, 날짜, 수량, 버전 번호가 들어간 PDF라면 추출 결과와 원본을 먼저 대조해야 합니다.
바로 자동화하지 말고 검수 지점을 남긴다
입문 단계에서 PDF 자동화는 “완전 자동”보다 “반자동”으로 시작하는 편이 안전합니다.
처음부터 전체 과정을 한 번에 묶기보다 아래처럼 중간 파일을 남겨 보세요.
pdftotext sample.pdf sample.txt
그리고 sample.txt를 눈으로 확인한 뒤 AI 요약이나 분류에 넘깁니다. 나중에 문제가 생겨도 “PDF 추출이 문제였는지, AI 요약이 문제였는지”를 나눠 볼 수 있습니다.
자동화에서 중간 결과를 남기는 것은 귀찮아 보이지만, 실제로는 디버깅 시간을 줄여 줍니다.
개인정보와 민감 정보는 먼저 걸러야 한다
PDF에는 생각보다 민감한 정보가 많이 들어갑니다.
- 이름
- 전화번호
- 이메일
- 주소
- 계약 조건
- 견적 금액
- 내부 프로젝트명
- 고객사 정보
AI 도구에 파일을 올리거나 API로 텍스트를 보내기 전에, 이 정보가 외부로 나가도 되는지 먼저 판단해야 합니다. 자동화가 편해 보여도 민감한 문서를 통째로 넘기는 것은 별개의 문제입니다.
PDF를 AI 워크플로우에 넣기 전 체크리스트
- PDF에서 문장 하나를 복사해 봤다
- 텍스트 PDF인지 스캔 PDF인지 대략 구분했다
- 샘플 하나를 텍스트로 추출해 중간 결과를 확인했다
- 표의 항목과 숫자가 원본과 맞는지 봤다
- 머리말·꼬리말·페이지 번호가 반복해서 섞이는지 확인했다
- 금액·날짜·수량·버전 번호를 AI가 임의로 보정하지 않게 원본과 대조했다
- 개인정보와 민감 정보가 외부 AI 도구로 나가도 되는지 판단했다
정리
PDF 자동화에서 먼저 봐야 할 것은 AI 요약 품질이 아닙니다. 그보다 앞에 있는 텍스트 추출 품질입니다.
WSL이나 리눅스에서 PDF를 다룰 때는 샘플 하나를 텍스트로 뽑고, 줄바꿈·표·숫자·반복 문구를 확인한 뒤 다음 단계로 넘기는 습관을 들이는 편이 좋습니다. 그래야 AI가 만든 결과가 틀렸을 때도 원인을 좁힐 수 있습니다.
자동화는 입력을 빠르게 처리하게 해 줍니다. 그래서 입력이 틀리면 틀린 결과도 빠르게 만들어집니다. PDF는 특히 그 차이가 잘 드러나는 문서 형식입니다. 프롬프트를 고치기 전에, 먼저 AI가 실제로 무엇을 읽고 있는지 확인해 보세요.
자주 묻는 질문
- PDF를 ChatGPT나 Claude에 바로 올려 요약하면 안 되나요?
- 간단한 문서라면 가능하지만, 표·스캔본·견적서·보고서처럼 구조가 복잡한 PDF는 텍스트 추출 과정에서 순서와 숫자가 깨질 수 있습니다. 중요한 문서는 먼저 추출된 텍스트 일부를 원본과 대조하는 편이 안전합니다.
- OCR을 쓰면 PDF 문제가 다 해결되나요?
- 아닙니다. OCR은 이미지 속 글자를 읽는 단계일 뿐입니다. 표의 행과 열, 문단 순서, 머리말·꼬리말, 숫자 오인식 문제는 별도로 확인해야 합니다.
이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.