개요
LiteParse는 바운딩 박스가 포함된 공간 텍스트 파싱, 유연한 OCR 시스템을 제공하며 다양한 출력 형식을 지원하는 독립형 PDF 파싱 도구입니다. 로컬에서 실행되며 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.x와 TextItem.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를 반환합니다. 팀은 영구적인 수정 작업 중이며, 저장소에서 곧 출시될 업데이트를 주목하세요.방법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 패키지는 네이티브 모듈 때문에 엣지 런타임을 지원하지 않습니다.
문제 해결네이티브 텍스트가 포함된 PDF 페이지에서 LiteParse가 일본어, 중국어 또는 한국어 OCR 텍스트를 "chart labels"로 분류하여 누락하는 문제를 해결하는 방법은 무엇인가요?
이것은 @llamaindex/liteparse 2.15.0의 버그입니다. crates/liteparse/src/ocr_merge.rs에서 is_chart_label은 문자가 세 개 이하인 모든 OCR 토큰을 차트 레이블로 처리합니다. Tesseract는 중국어, 일본어, 한국어 텍스트를 한 글자에서 세 글자짜리 단어로 분할하는 경우가 많으므로 CJK 산문 이미지가 잘못 분류됩니다. 페이지에 네이티브 텍스트도 포함된 경우 chart_like_images가 이미지 OCR을 삭제하며, 이는 LITEPARSE_DEBUG_OCR=1일 때 skip(chart-figure)로 표시됩니다.
수정: PR #498이 포함된 릴리스로 업그레이드하세요. 이 수정은 숫자 레이블 감지를 유지하면서 짧은 토큰 길이 규칙을 CJK 문자가 없는 토큰에만 적용합니다. 소스에서 빌드하는 경우, 문자 수가 <= 3이라는 이유만으로 CJK 토큰이 레이블로 표시되지 않도록 is_chart_label을 패치하세요.
다음으로 확인하세요:
LITEPARSE_DEBUG_OCR=1 lit parse repro.pdf --ocr-language jpn --format json -q
수정 후에는 CJK OCR 줄이 skip(chart-figure) 대신 ADD로 표시되어야 합니다. 임시 해결 방법으로는 네이티브 텍스트가 없는 페이지에서 CJK 이미지를 처리하거나 패치된 빌드를 사용하세요.
문제 해결Windows에서 Office 문서를 변환할 때 `lit parse`가 `Conversion("Command failed: ")` 오류와 함께 실패하는 이유는 무엇인가요?
Windows에서 lit 2.0.1을 사용할 경우, LibreOffice 사용자 프로필 URI가 file://C:\\Users\\...와 같이 잘못 생성됩니다. 그러나 LibreOffice는 슬래시 세 개와 정방향 슬래시를 사용하는 file:///C:/Users/... 형식을 요구합니다. 이로 인해 soffice가 종료 코드 1로 종료되거나 stderr 출력 없이 멈춥니다. 해결 방법으로, 먼저 Office 문서를 수동으로 PDF로 변환한 후 PDF를 파싱하세요:
soffice --headless --invisible --convert-to pdf --outdir ./out input.docx
lit parse ./out/input.pdf --format text -o output.md
soffice 직접 변환은 lit의 잘못 생성된 임시 프로필 URI를 사용하지 않기 때문에 정상적으로 작동합니다.
문제 해결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에 있을 수 있습니다. 이 경우 해당 경로로 변수를 설정하세요.