개발자 및 검색 엔지니어
서버 측 추출 단계 없이 PDF 콘텐츠를 Elasticsearch, Solr 또는 벡터 데이터베이스에 입력하세요. 스트림 모드는 토큰화 및 인덱싱에 적합한 깨끗하고 공백이 정규화된 텍스트를 생성합니다.
PDF 파일은 어디에나 있지만, 단순히 데이터를 담는 컨테이너일 뿐 텍스트가 아닙니다. 법률 문서에서 특정 부분을 검색하거나, 머신러닝 파이프라인에 문서 내용을 입력하거나, 연구 논문을 Elasticsearch에 색인하거나, 줄 바꿈 오류를 수정하지 않고 인용문을 붙여넣어야 할 때, 필요한 것은 일반 텍스트입니다. PDF 뷰어에서 복사하여 붙여넣으면 열 정렬이 깨지고, 불필요한 하이픈이 삽입되며, 여러 열로 구성된 레이아웃이 엉망이 됩니다. PDF를 텍스트로 변환하는 전용 변환기를 사용하면 이러한 모든 문제를 한 번에 해결할 수 있습니다.
LuraPDF의 텍스트 추출기는 Firefox의 내장 PDF 뷰어에 사용되는 PDF.js 라이브러리를 이용하여 브라우저에서 완전히 실행됩니다. 업로드나 처리 대기열이 없으며, 서버 계층에 의한 크기 제한도 없습니다. 사람이 읽기 쉬운 출력 형식을 위한 레이아웃 모드와 파이프라인 처리에 적합한 텍스트 형식을 위한 스트림 모드, 두 가지 추출 모드가 제공되며, 세 가지 인코딩 방식과 선택적으로 페이지 나누기 표시를 사용할 수 있습니다. 추출 결과는 .txt 파일로 즉시 다운로드되며, 어떤 편집기에서든 열거나, pandas로 가져오거나, 명령줄 도구를 통해 처리할 수 있습니다.
검색 엔진에 문서를 입력하는 소프트웨어 엔지니어부터 논문을 위해 인용문을 추출하는 학생에 이르기까지, 일반 텍스트 추출은 모든 후속 워크플로에서 PDF 콘텐츠를 활용할 수 있도록 해줍니다.
서버 측 추출 단계 없이 PDF 콘텐츠를 Elasticsearch, Solr 또는 벡터 데이터베이스에 입력하세요. 스트림 모드는 토큰화 및 인덱싱에 적합한 깨끗하고 공백이 정규화된 텍스트를 생성합니다.
학술 논문, 기술 보고서 및 정부 문서를 기반으로 자연어 처리(NLP) 코퍼스를 구축합니다. 각 문서를 일괄적으로 .txt 파일로 내보낸 다음, pandas 또는 NLTK를 사용하여 해당 폴더를 불러와 전처리합니다.
정보공개법(FOIA)에 따라 공개된 자료나 유출된 문서들은 대개 PDF 파일 형식으로 제공됩니다. 이를 .txt 파일로 변환한 후 grep이나 Datashare를 사용하여 수백 개의 파일에서 몇 분 만에 검색할 수 있으며, 민감한 자료를 업로드할 필요도 없습니다.
법정 증거물, 계약서, 소송 관련 문서에서 텍스트를 추출하여 키워드 검색 및 기밀 유지 검토를 수행할 수 있습니다. 민감한 자료를 제3자 서버에 업로드할 필요가 없습니다.
연구 논문이나 교과서에서 정확한 인용문을 복사할 때 줄 바꿈 문제 없이 편리하게 이용하세요. 레이아웃 모드는 각주와 인용문의 가독성을 유지할 수 있도록 충분한 구조를 보존합니다.
PDF 보고서에서 표 형식 데이터를 .txt 파일로 추출하고 pandas, AWK 또는 기타 스크립팅 언어를 사용하여 구문 분석합니다. PDF를 Excel로 변환하는 도구와 함께 사용하면 구조화된 표 형식 데이터를 추출할 수 있습니다.
로컬에서 처리하면 처리 속도가 빨라지고 개인 정보 위험이 없으며, 서버 접근 제한, 로그 기록 또는 파일 손실 가능성이 있는 서버에 의존할 필요가 없습니다.
LuraPDF는 PDF.js의 getTextContent() API를 사용합니다. 이 API는 각 페이지의 콘텐츠 스트림을 파싱하여 유니코드 문자열, 글꼴 메트릭, 페이지 상 x/y 위치를 포함하는 텍스트 항목 배열을 반환합니다. 레이아웃 모드에서는 추출기가 세로 위치를 기준으로 항목을 줄 단위로 그룹화한 다음, 각 줄을 왼쪽에서 오른쪽으로 정렬하고 글자 사이의 간격에 비례하는 공백을 삽입합니다. 이렇게 하면 열과 들여쓰기 목록의 대략적인 시각적 레이아웃이 재구성됩니다. 스트림 모드에서는 항목이 공간 정렬 없이 콘텐츠 스트림 순서대로 출력되어 토크나이저가 선호하는 간결한 단락이 생성됩니다.
텍스트가 모두 준비되면 브라우저의 TextEncoder API를 사용하여 선택한 문자 집합으로 인코딩한 후 Blob에 저장합니다. 임시 객체 URL을 통해 다운로드가 시작되며, 이 과정에서 데이터는 브라우저 탭을 벗어나지 않습니다. 페이지 나누기 표시가 활성화된 경우, 각 페이지의 텍스트 블록 사이에 용지 공급 문자가 삽입되어 프로그램적으로 페이지를 쉽게 분할할 수 있습니다. 전체 프로세스는 페이지별로 동기적으로 실행되며 대부분의 문서에서 1초 이내에 완료됩니다.
| 특징 | 루라PDF | 작은 PDF | 어도비 아크로뱃 |
|---|---|---|---|
| 브라우저 전용 / 업로드 불가 | 예 | 아니요 | 아니요 |
| 레이아웃 및 스트림 모드 | 예 | 부분적 | 예 |
| UTF-8 / UTF-16 / ASCII | 예 | UTF-8만 해당 | 예 |
| 무료, 파일 제한 없음 | 예 | 하루 2회 무료 | 유급의 |
추출 전후의 몇 가지 결정이 깔끔한 텍스트와 파편화된 문자열 사이의 차이를 만듭니다.
PDF 파일이 선택할 수 있는 텍스트가 없는 스캔 파일인 경우, 먼저 OCR PDF를 실행하십시오. 그렇지 않으면 추출 시 빈 파일이 생성됩니다.
머신러닝 파이프라인에는 스트림 모드를 사용하고, 사람이 읽거나 편집할 수 있는 읽기 쉬운 출력에는 레이아웃 모드를 사용하십시오.
대상 도구에서 ASCII 또는 UTF-16을 명시적으로 요구하지 않는 한 UTF-8을 유지하십시오. UTF-8은 보편적으로 안전한 선택입니다.
스크립트에서 페이지별로 출력을 분할할 경우 페이지 나누기 표시를 활성화하세요. 이렇게 하면 수동으로 구문 분석하는 단계를 줄일 수 있습니다.
내보내기 후 반복되는 머리글과 바닥글을 간단한 정규 표현식으로 제거합니다. 머리글 텍스트와 일치하는 부분을 모두 삭제하면 됩니다.
용량이 매우 큰 PDF 파일의 경우, 브라우저 응답성을 유지하기 위해 페이지 범위별로 처리하고, 필요한 경우 챕터를 개별적으로 추출하세요.
읽기용으로 레이아웃이 정렬된 텍스트가 필요하든 파이프라인용 스트림 모드 출력이 필요하든, LuraPDF는 서버에 연결하지 않고 몇 초 만에 필요한 텍스트를 추출합니다. 기본적으로 UTF-8을 사용하며, 필요에 따라 페이지 나누기를 할 수 있고, 회원가입이나 워터마크가 없습니다. PDF 파일을 드래그 앤 드롭하기만 하면 깔끔한 .txt 파일을 다운로드할 수 있습니다.