PDF 텍스트 추출기
PDF의 순수 텍스트를 브라우저에서 바로 추출합니다 — 문서에 삽입된 텍스트 레이어를 읽으며, 업로드도 OCR도 없습니다.
조회수 237회
처리 중…
PDF를 읽을 수 없습니다 — 파일이 손상되었거나 비밀번호로 보호되어 있을 수 있습니다.
텍스트를 찾을 수 없습니다 — 이 PDF는 삽입된 텍스트 레이어가 없는 스캔된 이미지일 수 있습니다(이 도구는 OCR을 수행하지 않습니다).
PDF의 텍스트 레이어는 실제로 무엇인가
PDF는 페이지의 사진이 아닙니다 — 적어도 보통은 그렇습니다. 워드프로세서, 웹페이지, 또는 조판 소프트웨어에서 PDF가 생성될 때, 페이지 내용은 일련의 그리기 명령으로 저장됩니다: 페이지의 모든 문자마다 반복되는 "글리프 G를 폰트 F, 크기 S로 위치 (x, y)에 배치하라"는 식입니다. 이 각각의 글리프 배치 명령은 폰트의 문자 인코딩 테이블을 다시 가리키는 참조를 담고 있으며, 이 덕분에 소프트웨어는 그려진 모양을 단순한 그림이 아니라 실제 유니코드 문자로 다시 매핑할 수 있습니다. 이 도구는 Mozilla의 오픈소스 pdf.js 라이브러리로 PDF를 불러온 뒤 모든 페이지에서 getTextContent() API를 호출하는 방식으로 작동합니다 — 중요한 점은, 이 방식이 페이지를 픽셀로 렌더링하지 않고 이 명령 스트림을 직접 읽는다는 것이며, 그래서 그래픽 가속이 없는 기기에서도 작동하고 렌더링에 비해 거의 즉각적으로 실행됩니다.
이는 종이 문서를 사진으로 찍거나 스캐너로 스캔해 PDF로 저장할 때 만들어지는 스캔된 PDF와는 근본적으로 다릅니다 — 그 경우 "페이지"는 그 뒤에 어떤 글리프 명령도 없는, 전체 페이지 크기의 JPEG나 TIFF 이미지일 뿐입니다. 어떤 소프트웨어도 텍스트가 무엇인지 알지 못했고, 오직 픽셀만 캡처했기 때문입니다. 스캔된 페이지에서 getTextContent()를 호출하면 아무것도, 또는 거의 아무것도 반환되지 않습니다. 읽을 텍스트 레이어가 애초에 없기 때문입니다 — 일반적인 PDF 뷰어에서 스캔된 페이지의 텍스트를 선택할 수 없는 것과 마찬가지로, 그 정보는 정말로 파일 안에 존재하지 않습니다. 스캔된 문서에서 텍스트를 복구하려면 완전히 다른 기술인 OCR(광학 문자 인식)이 필요합니다. 이는 픽셀 모양을 분석해 문자를 추측하는 방식으로, 본질적으로 다르고 훨씬 오류가 발생하기 쉬운 과정이며 이 도구는 이를 수행하지 않습니다. PDF가 스캔본이라면 대신 전용 이미지-텍스트(OCR) 도구를 찾아보십시오 — 이 사이트에는 별도로 그런 도구가 마련되어 있습니다.
추출된 텍스트의 순서가 뒤바뀌는 이유
진짜 텍스트 레이어를 가진 PDF에도 더 미묘한 문제가 영향을 미칩니다: getTextContent()는 PDF가 생성될 때 원래 그려진 순서대로 글리프 배치 항목을 반환하며, 이는 사람이 읽는 순서와 반드시 같지는 않습니다. 대부분의 단순한 단일 열 문서는 위에서 아래로, 왼쪽에서 오른쪽으로 그려져 자연스러운 읽기 순서와 일치하므로 추출 결과가 올바르게 보입니다. 하지만 PDF 내보내기 도구는 원하는 어떤 순서로든 자유롭게 내용을 그릴 수 있으며, 많은 경우 시각적 순서를 보존하지 않습니다: 두 단으로 구성된 학술 논문, 잡지 레이아웃, 표, 또는 텍스트 상자와 설명이 있는 PDF는 명세가 위치만 정의할 뿐 읽기 순서를 정의하지 않기 때문에, 그리기 순서가 독자의 시선이 페이지를 가로지르는 방식과 뒤섞이거나 완전히 뒤바뀔 수 있습니다. 이 도구는 pdf.js가 보고하는 순서대로 각 페이지의 항목을 이어붙이고, 명확한 --- Page N --- 표시로 페이지를 구분해 각 블록이 정확히 어느 페이지에서 왔는지 확인하고 필요하면 여러 단으로 된 결과를 수동으로 재정렬할 수 있게 합니다.
- 아무것도 업로드되지 않습니다: PDF는 브라우저에서 실행되는 pdf.js를 이용해 전적으로 클라이언트 측에서 파싱되며, 파일은 이 사이트의 서버에 결코 도달하지 않습니다.
- 비밀번호로 보호된 PDF는 열리지 않습니다 — 이 도구는 PDF 암호화나 권한을 우회하려 시도하지 않습니다.
- 추출된 간격은 시각적 레이아웃과 다를 수 있습니다 — 특히 표는 서식이 있는 격자가 아니라 셀 값들의 평평한 나열로 추출되는 경우가 많습니다. PDF에는 HTML처럼 "표"라는 고유 개념이 없기 때문입니다.
- 여러 페이지로 된 문서에는 페이지 표시가 붙습니다. PDF 페이지는 그렇지 않으면 그 사이에 고유한 단락 구분이 없는 독립적인 콘텐츠 스트림이므로, 어디서 한 페이지가 끝나고 다음 페이지가 시작되는지 알 수 있게 해줍니다.
자주 묻는 질문
왜 결과가 비어 있거나 거의 비어 있나요?
PDF가 스캔된 이미지일 가능성이 매우 높습니다 — 삽입된 텍스트 없이 그림 하나로만 이루어진, 종이 페이지를 사진 찍거나 스캔해 PDF로 저장한 것입니다. 이 도구는 PDF의 텍스트 레이어를 직접 읽을 뿐 OCR(광학 문자 인식)은 수행하지 않으므로, 텍스트 레이어가 없는 스캔된 페이지는 읽을 것이 아무것도 반환되지 않습니다.
두 단으로 된 PDF에서 추출된 텍스트의 순서가 뒤죽박죽인 이유는 무엇인가요?
PDF는 내보내기 소프트웨어가 선택한 순서대로 내용을 그리기 명령으로 저장하며, 이 순서가 시각적인 읽기 순서와 일치한다는 보장은 없습니다. 파일 형식이 정의하는 것은 글리프의 위치이지 읽기 순서가 아니기 때문에, 두 단 레이아웃, 표, 또는 잡지 스타일 페이지는 양쪽 단의 텍스트가 뒤섞일 수 있습니다.
이 도구는 스캔된 문서에 OCR을 수행하나요?
아니요. 이 도구는 pdf.js의 getTextContent() API를 통해 PDF에 이미 존재하는 삽입된 텍스트 레이어만 읽습니다 — 픽셀을 분석하거나 이미지 속 문자를 인식하지 않습니다. 텍스트 레이어가 없는 스캔 문서에는 이미지-텍스트(OCR) 도구가 별개의 다른 기술로 필요합니다.
제 PDF가 서버로 업로드되나요?
아니요 — 추출 전체가 오픈소스 pdf.js 라이브러리를 이용해 브라우저 안에서 이루어집니다. 파일은 File API를 통해 로컬에서 읽히며 어디로도 전송되지 않습니다.
결과물에 "--- Page N ---" 표시가 있는 이유는 무엇인가요?
각 PDF 페이지는 고유한 텍스트 항목을 가진 별개의 콘텐츠 스트림이며 다음 페이지와 본질적인 연결이 없습니다. 페이지 표시는 한 페이지의 추출된 텍스트가 어디서 끝나고 다음 페이지가 어디서 시작되는지 명확히 해주며, 이는 단락이나 문장이 페이지 경계를 넘어 이어지는 문서에서 중요합니다.
비슷한 도구
문제 신고하기
PDF 텍스트 추출기
댓글
아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!