
Firecrawl 공식 저장소에 따르면 회사는 PDF를 텍스트 기반, 스캔, 이미지 기반, 혼합 문서로 분류하고 내용을 마크다운으로 변환하는 오픈소스 라이브러리 ‘pdf-inspector’를 공개했다. Rust로 작성됐으며 MIT 라이선스로 배포된다.
pdf-inspector는 PDF 콘텐츠 스트림을 살펴 텍스트 연산자와 이미지 객체의 존재를 확인한다. 문서 전체를 한 가지 유형으로만 처리하지 않고 OCR이 필요한 페이지 목록을 반환해, 텍스트 페이지는 로컬에서 추출하고 이미지 페이지만 별도 OCR 서비스로 보내는 파이프라인을 구성할 수 있다.
텍스트 추출 과정에서는 글꼴과 좌표 정보를 이용해 읽기 순서를 정리한다. 다단 문서와 오른쪽에서 왼쪽으로 쓰는 문자 체계를 지원하며, 제목·목록·코드 블록·링크·표를 마크다운 구조로 바꾼다. 표는 PDF의 사각형 그리기 명령과 텍스트 정렬을 함께 활용해 찾는다.
지원 환경도 넓혔다. 핵심 Rust 라이브러리와 명령줄 도구 외에 Python, Node.js, 브라우저 WebAssembly 바인딩을 제공한다. 브라우저에서는 PDF를 외부 서버로 보내지 않고 Web Worker를 포함한 로컬 환경에서 같은 파서를 실행할 수 있다는 설명이다.
Firecrawl는 텍스트가 들어 있는 PDF까지 모두 OCR이나 모델 기반 파서로 보내는 비용과 지연을 줄이는 용도로 이 도구를 개발했다고 밝혔다. 기본 분류 방식은 페이지를 살피다가 텍스트가 없는 페이지를 찾으면 일찍 멈추며, 모든 페이지 검사나 일부 표본 검사도 선택할 수 있다.
공식 저장소에 공개된 자체 벤치마크는 OpenDataLoader의 PDF 200개를 사용했다. OCR과 모델 기반 파서를 제외한 조건에서 pdf-inspector 0.2.6은 종합 점수 0.875, 읽기 순서 점수 0.915, 표 점수 0.814를 기록했다. 200개 문서를 처리한 시간은 0.470초로 제시됐다.
다만 이 수치는 Firecrawl가 애플 M4 Pro에서 수행한 자체 측정 결과다. 비교 대상의 버전, OCR 비활성화, 문서 말뭉치가 정해진 조건이어서 다른 문서 형식과 하드웨어에서 같은 결과를 보장하지 않는다. 회사는 원시 실행 시간과 문서별 예측, 평가 결과를 별도 브랜치에 공개하고 같은 말뭉치에서 두 빌드를 비교하는 도구도 제공한다.
PyPI에는 7월 31일 pdf-inspector 0.2.6 패키지가 등록됐고, npm에는 Node.js용 패키지가 배포돼 있다. 개발자는 실제 문서에서 문자 인코딩, 복잡한 표, 스캔과 텍스트가 섞인 페이지의 분류 정확도를 확인한 뒤 OCR 대체가 아니라 전처리와 라우팅 단계로 적용할 필요가 있다.
출처: Firecrawl pdf-inspector 공식 저장소 https://github.com/firecrawl/pdf-inspector
출처: Firecrawl 공식 벤치마크 방법 문서 https://github.com/firecrawl/pdf-inspector/blob/main/docs/benchmarking.md
출처: Firecrawl 공식 벤치마크 결과 저장소 https://github.com/firecrawl/opendataloader-bench/tree/abi/pdf-parser-benchmark-results
출처: PyPI 공식 패키지 페이지 https://pypi.org/project/pdf-inspector/
출처: npm 공식 패키지 페이지 https://www.npmjs.com/package/@firecrawl/pdf-inspector