OpenSource-Hub

liteparse

CLI 도구

run-llama/liteparse

빠른 오픈소스 문서 파서, OCR 및 텍스트 추출 지원.

개요

LiteParse는 독립적인 PDF 파싱 도구로, 경계 상자가 있는 공간 텍스트 파싱, 유연한 OCR 시스템을 제공하며 다양한 출력 형식을 지원합니다. 로컬에서 실행되며 Rust, Node.js, Python 및 WASM과 통합할 수 있습니다.

README 미리보기

# LiteParse\n\n[](https://github.com/run-llama/liteparse/actions/workflows/ci.yml)\n|\n[](https://crates.io/crates/liteparse)\n|\n[](https://www.npmjs.com/package/@llamaindex/liteparse)\n|\n[](https://www.npmjs.com/package/@llamaindex/liteparse-wasm)\n|\n[](https://pypi.org/project/liteparse/)\n|\n[](https://opensource.org/licenses/Apache-2.0)\n|\n[Docs](https://developers.llamaindex.ai/liteparse/)\n\n\n\n> Looking for LiteParse V1? Follow this link to [the old code](https://github.com/run-llama/liteparse/tree/logan/liteparse-v1)\n\nLiteParse is a standalone OSS PDF parsing tool focused exclusively on **fast and light** parsing. It provides high-quality spatial text parsing with bounding boxes, without proprietary LLM features or cloud dependencies. Everything runs locally on your machine.\n\n**Hitting the limits of local parsing?**\nFor complex documents (dense tables, multi-column layouts, charts, handwritten text, or\nscanned PDFs), you'll get significantly better results with [LlamaParse](https://developers.llamaindex.ai/python/cloud/llamaparse/?utm_source=github&utm_medium=liteparse),\nour cloud-based document parser built for production document pipelines. LlamaParse handles the\nhard stuff so your models see clean, structured data and markdown.\n\n>  [Sign up for LlamaParse free](https://cloud.llamaindex.ai?utm_source=github&utm_medium=liteparse)\n\n## Overview\n\n- **Fast Text Parsing**: Spatial text parsing using PDFium\n- **Flexible OCR System**:\n  - **Built-in**: Tesseract (zero setup, bundled with the library)\n  - **HTTP Servers**: Plug in any OCR server (EasyOCR, PaddleOCR, custom)\n  - **Standard API**: Simple, well-defined OCR API specification\n- **Screenshot Generation**: Generate high-quality page screenshots for LLM agents\n- **Multiple Output Formats**: JSON and Text\n- **Bounding Boxes**: Precise text positioning information\n- **Multi-language**: Use from Rust, Node.js/TypeScript, Python, or the browser (WASM)\n- **Multi-platform**: Linux, ma

FAQ (5)

문제 해결
왜 liteparse가 TextItem의 x와 y에 대해 PDF points 대신 격자 투영 좌표를 반환하나요?

liteparse v2.0.0-beta.2에서, TextItem.xTextItem.y가 PDF point coordinates 대신 grid-projection coordinates (character column and line index)로 잘못 설정되어 있습니다. 이는 알려진 버그입니다. 해결 방법으로 dev CLI tool을 사용하여 raw PDF point coordinates를 추출하세요:

python -m liteparse.cli extract --pdf-path <your_pdf.pdf>

이 명령은 올바른 x, y, width, height와 추가 metadata를 포함한 pre-projection items를 반환합니다. 팀은 영구적인 수정 작업 중이며, 저장소에서 곧 출시될 업데이트를 주목하세요.

원본 Issue #243
방법
Cloudflare Workers나 edge runtimes에서 LiteParse를 사용하여 PDF를 파싱하는 방법은 무엇인가요?

@llamaindex/liteparse-wasm 패키지를 사용하세요. 이 패키지는 WebAssembly 기반 PDF 파서를 제공하며, Cloudflare Workers, Deno Deploy, Vercel Edge 및 브라우저와 호환됩니다. npm install @llamaindex/liteparse-wasm으로 설치하고 PDF 파서를 직접 임포트하세요. 사용 예시는 패키지 README를 확인하세요. 원래 Node.js에 의존하는 liteParse 패키지는 네이티브 모듈 때문에 엣지 런타임을 지원하지 않습니다.

원본 Issue #58
문제 해결
liteparse OCR을 사용할 때 'tessdata/eng.traineddata' 오류를 어떻게 고치나요?

TESSDATA_PREFIX 환경 변수를 tessdata 언어 파일이 포함된 디렉터리로 설정하세요.
1. https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata에서 eng.traineddata를 다운로드합니다.
2. 해당 파일을 폴더(예: Windows의 경우 C:\\tessdata, Linux의 경우 /usr/share/tessdata)에 넣습니다.
3. TESSDATA_PREFIX를 해당 폴더 경로로 설정합니다:
- Windows: $env:TESSDATA_PREFIX='C:\\tessdata'
- Linux/macOS: export TESSDATA_PREFIX=/usr/share/tessdata
liteparse에 Tesseract가 번들로 포함된 경우 tessdata 폴더는 node_modules/@llamaindex/liteparse/tessdata에 있을 수 있습니다. 이 경우 해당 경로로 변수를 설정하세요.

원본 Issue #253
문제 해결
긴 워터마크나 헤더가 있는 PDF에서 무음 OCR 실패를 수정하는 방법?

현재 LiteParse 버전은 페이지에 OCR이 필요한지 결정하기 위해 하드코딩된 텍스트 길이 임계값 100자를 사용합니다. 페이지에 100자 이상의 기본 텍스트(예: Brazilian TJCE의 디지털 워터마크 ~289자, 또는 최대 ~1310자의 긴 헤더/푸터)가 있는 경우 OCR을 건너뛰어 스캔된 본문 내용이 자동으로 누락됩니다. 해결 방법: 크레이트를 포크하고 crates/liteparse/src/ocr_merge.rs를 편집하여 임계값을 늘립니다(예: 1001500으로 변경). 또는 조건을 수정하여 모든 페이지에 OCR을 강제로 적용합니다. 영구적인 수정은 임계값을 구성 가능하게 만들기 위해 issue #235에서 제안되었습니다.

원본 Issue #235
문제 해결
LiteParse v2에서 PDF가 아닌 문서(DOCX, PPTX, 이미지)의 스크린샷을 어떻게 찍나요?

LiteParse v2에서 screenshot()은 현재 PDF 입력만 지원합니다. 다른 형식(Office, 이미지 등)을 스크린샷하려면 먼저 lit parse 또는 LibreOffice 같은 외부 도구를 사용해 문서를 PDF로 변환한 후, 결과 PDF를 screenshot()에 전달하세요. 예: lit parse input.docx --output converted.pdf && lit screenshot converted.pdf. 이는 임시 해결책입니다. screenshot()의 네이티브 다중 형식 지원은 issue #214(v1과의 동일성)에서 추적 중입니다.

원본 Issue #214