PDF OCR 온라인 — 스캔된 텍스트를 검색 가능하게
스캔된 PDF를 진정으로 검색 가능한 문서로 변환해요. 텍스트가 선택 가능해지고 Ctrl+F가 동작해요 — 모두 브라우저에서 로컬로 처리되고 아무것도 전송되지 않아요.
온라인에서 PDF OCR을 하는 방법
PDFluna로 OCR을 시작하는 건 한 번의 클릭이고 모든 게 브라우저에서 이루어져요. 설치할 게 없고, 만들 계정도 없고, 원격 서버로 보내는 파일도 없어요. 단계별 안내:
- 스캔된 PDF 가져오기. 가져오기 영역에 스캔된 PDF를 드래그&드롭하거나 파일 선택을 클릭해요. 50 MB와 50페이지까지 파일이 지원돼요.
- PDFluna가 각 페이지 확인. 이미 검색 가능한 텍스트 레이어가 있는 페이지와 이미지만 있는 페이지를 찾기 위해 파일을 로컬에서 분석해요. 이미지만 있는 페이지만 OCR이 필요해요.
- 브라우저에서 OCR 실행. OCR 시작을 클릭해요. 도구가 Tesseract OCR 엔진(약 14 MB, 첫 사용 후 캐시)을 다운로드하고 페이지마다 텍스트를 인식해요.
- 검색 가능한 PDF 다운로드. 출력은 원본과 같게 보이지만 텍스트는 선택 가능, 복사 가능, Ctrl+F로 검색 가능해져요. 원본 파일은 절대 변경되지 않아요.
OCR이 무엇이고 왜 중요한가?
종이 문서를 스캔하거나 폰으로 계약서를 사진 찍으면 결과 PDF는 일반적인 의미의 문서가 아니에요 — PDF 컨테이너에 래핑된 이미지 더미예요. 실제 텍스트는 없어요: 단어를 드래그해 선택하려고 해도 아무것도 강조 표시되지 않고, Ctrl+F로 단어를 검색해도 아무것도 찾지 못하고, 블록을 복사해도 아무것도 얻지 못해요. OCR(광학 문자 인식)은 이를 해결해요 — 각 페이지를 보고, 글자 모양을 식별하고, 인식된 텍스트를 이미지 뒤의 보이지 않는 레이어로 파일에 다시 작성해요.
표시되는 페이지는 정확히 동일하게 유지돼요 — 같은 스캔, 같은 품질, 같은 레이아웃. 하지만 이제 PDF는 검색 가능, 복사 가능, 스크린 리더에 접근 가능해요. 이게 대부분의 사람들이 이메일, 아카이브, 포털 업로드에 정말로 필요한 PDF 형식이에요.
PDFluna는 어떻게 브라우저에서 OCR을 실행하나
내부적으로 PDFluna는 Tesseract.js를 사용해요 — Google이 유지하는 오픈소스 Tesseract 엔진의 WebAssembly 빌드. 엔진과 영어 인식 모델은 첫 사용 시 CDN에서 다운로드되고(합계 약 14 MB) 그 후 브라우저에 캐시되므로 이후 실행은 몇 초 안에 시작해요. 실제 처리는 서버에 닿지 않아요:
- 사전 스캔. PDF.js로 PDF를 열고 각 페이지가 이미 실제 텍스트 레이어를 가지고 있는지 확인해요. 가지고 있는 페이지는 그대로 둬요 — 다시 OCR하는 이점이 없어요.
- 래스터화. OCR이 필요한 각 페이지가 300 DPI로
OffscreenCanvas에 렌더링돼요 — Tesseract가 학습된 해상도. 너무 낮으면 작은 텍스트가 사라지고, 너무 높으면 정확도 향상 없이 처리가 느려져요. - 인식. Tesseract가 각 단어를 식별하고 텍스트, 신뢰도, 픽셀 좌표의 바운딩 박스를 반환해요.
- 오버레이. pdf-lib를 사용해 각 페이지에 보이지 않는 텍스트 레이어를 추가하고, 각 단어가 이미지에 표시되는 정확한 위치에 배치돼요. 원본 페이지 콘텐츠는 바이트 단위로 보존돼요.
온라인에서 PDF를 OCR하는 게 안전한가요?
PDFluna에서는 네 — 인식 단계에서 아무것도 진정으로 "온라인"이 아니기 때문이에요. 브라우저에서 페이지가 로드되면 PDF는 표준 File API를 통해 메모리에 로드되고 당신 머신의 JavaScript와 WebAssembly로 처리돼요. 업로드하지 않고, 보지 않고, 저장하지 않아요. 이로써 PDFluna는 세금 신고서, 계약서, 의료 기록 등 기밀 스캔에 안전한 선택이 돼요. 확인하고 싶으면 브라우저 DevTools를 열고 네트워크 탭을 관찰하세요 — OCR 자체 동안 요청이 이루어지지 않아요(엔진의 단일 다운로드만 있고 사용자 데이터를 운반하지 않아요).
더 좋은 OCR 정확도를 위한 팁
- 300 DPI로 스캔. 200 DPI 미만에서는 작은 글자가 흐려지고 정확도가 크게 떨어져요. 300 DPI는 속도와 정확도 사이의 스위트 스폿이에요.
- 페이지를 똑바로 유지. 약간 기울어진 스캔(몇 도)은 OK. 매우 회전되거나 기울어진 페이지는 NG. 필요시 먼저 PDF를 회전하세요.
- 균일한 조명 사용. 그림자나 강한 반사가 있는 폰 문서 사진은 엔진을 혼란스럽게 할 수 있어요. 평평하고 균일하게 조명된 스캔이 가장 잘 동작해요.
- 흰 배경에 검은 텍스트가 이상적. 화려한 배경과 장식 폰트는 정확도를 떨어뜨려요. 표준 본문 폰트(Times, Helvetica, Arial)가 OCR에 가장 쉬워요.
자주 묻는 질문
OCR이 무엇이고 언제 필요한가요?
OCR은 Optical Character Recognition(광학 문자 인식)을 의미해요 — 스캔된 문서의 픽셀을 진정한 텍스트로 변환해요. PDF의 텍스트를 드래그해 선택할 수 없고 Ctrl+F가 결과를 반환하지 않으면 파일은 스캔된 이미지이고 검색이나 복사 전에 OCR이 필요해요.
파일이 서버로 전송되나요?
아니요. OCR은 Tesseract.js(오픈소스 Tesseract 엔진의 WebAssembly 빌드) 덕분에 브라우저에서 완전히 동작해요. PDF는 기기를 떠나지 않아요. 도구 실행 중 DevTools의 "네트워크" 탭을 열어 직접 확인할 수 있어요 — 파일 업로드는 이루어지지 않고 인식 엔진 자체의 단일 다운로드만 있어요.
어떤 언어가 지원되나요?
현재 버전은 영어를 인식해요(숫자, 구두점, 대부분의 일반 기호 포함). 각 추가 언어가 OCR 모델 다운로드 크기를 거의 두 배로 만들기 때문에 첫 버전에는 영어만 선택했어요. 다국어 지원은 로드맵에 있어요.
최대 파일 크기는?
도구는 최대 50 MB와 50페이지의 PDF를 받아요. OCR은 메모리와 CPU를 집중적으로 사용하고, 이 제한은 중급 랩톱과 폰에서 경험을 유연하게 유지해요. 더 큰 스캔의 경우 먼저 무료 PDF 분할 도구로 문서를 분할하고 각 부분에서 OCR을 실행하세요.
얼마나 정확한가요?
300 DPI에서 표준 폰트의 깨끗한 스캔의 경우 정확도는 보통 95~99%예요. 저해상도 스캔(200 DPI 미만), 손글씨(Tesseract는 필기체용으로 설계되지 않음), 매우 기울어진 페이지, 또는 매우 특이한 폰트에서는 결과가 저하돼요. 스캔 품질이 나쁜 경우 더 높은 DPI로 다시 스캔하고 다시 시도하세요.
PDF를 평소처럼 읽고 인쇄할 수 있나요?
네 — 출력은 원본과 정확히 같게 보여요. 인식된 텍스트를 이미지 뒤에 보이지 않는 레이어로 추가하므로 페이지는 똑같이 렌더링되지만 텍스트는 마우스로 선택 가능, Ctrl+F를 통해 검색 가능해져요. 표시되는 문서에서는 아무것도 변하지 않아요.
이미 텍스트가 있는 페이지는 어떻게 되나요?
기존 텍스트 레이어가 있는 페이지는 기본으로 그대로 둬요 — 다시 OCR하는 이점이 없어요. PDF가 스캔된 페이지와 입력된 페이지의 혼합인 경우 스캔된 것만 처리해요. 파일 전체에서 OCR을 강제하고 싶으면 옵션으로 이를 재정의할 수 있어요.
첫 실행이 왜 오래 걸리나요?
PDF OCR을 처음 사용할 때 브라우저가 Tesseract 엔진(약 2 MB의 WebAssembly)과 영어 인식 모델(약 12 MB)을 다운로드해요. 이는 브라우저에 캐시되므로 이후 실행은 몇 초 안에 시작해요.