Skip to main content

liteparse-rust-pdf-ocr

Parser de PDF rápido en Rust con OCR, extracción espacial con bounding boxes, y bindings multi-lenguaje (Node.js, Python, WASM). 7.4k+ estrellas. Ideal para pipelines de documentos donde velocidad y layout importan.

跳到安装

来源信息

仓库
Ntizar/NtizarBrainMasterMind
最近来源活动
2026年6月26日 12:05
检测到的 SKILL.md 语言
西班牙语
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
liteparse-rust-pdf-ocr
description
Parser de PDF rápido en Rust con OCR, extracción espacial con bounding boxes, y bindings multi-lenguaje (Node.js, Python, WASM). 7.4k+ estrellas. Ideal para pipelines de documentos donde velocidad y layout importan.
version
1.0.0
author
Ntizar (extraído de run-llama/liteparse)
source
https://github.com/run-llama/liteparse
tags
["herramientas","PDF","OCR","Rust"]
# LiteParse — PDF Parsing Rápido en Rust Parser de PDF de alto rendimiento con OCR y extracción espacial. Repositorio: [run-llama/liteparse](https://github.com/run-llama/liteparse) (7.4k+ ⭐) ## Características Clave - **Rust core** — Máximo rendimiento y seguridad - **Spatial text extraction** — Bounding boxes precisos para cada texto - **OCR flexible** — Tesseract integrado o servidor HTTP externo - **Multi-format** — PDF, DOCX, XLSX, PPTX, imágenes (vía conversión) - **Multi-language bindings** — Node.js (napi-rs), Python (PyO3), WASM - **Local-first** — Cero dependencias cloud por defecto ## Arquitectura ``` Input (archivo o bytes) ↓ Conversion (LibreOffice/ImageMagick si no es PDF) ↓ PDF Loading (PDFium extrae texto, imágenes, metadata) ↓ OCR (solo en imágenes donde falló extracción) ↓ Grid Projection (reconstrucción layout con anchors) ↓ Output (JSON o texto plano) ``` ## Instalación ```bash # Node.js npm install liteparse # Python pip install liteparse # Rust cargo add liteparse ``` ## Uso Node.js ```typescript import { LiteParse } from 'liteparse'; const parser = new LiteParse(); const result = await parser.parseFile('documento.pdf'); console.log(result.pages[0].textItems); // [{ text: "Hello", bbox: {x, y, w, h}, ... }] ``` ## Uso Python ```python from liteparse import LiteParse parser = LiteParse() result = parser.parse_file("documento.pdf") for page in result.pages: for item in page.text_items: print(f"{item.text} @ {item.bbox}") ``` ## OCR Engine Trait ``` OcrEngine (trait) ├── Tesseract (built-in, default) └── HttpOcrServer (remoto, pluggable) Ejemplos incluidos: ├── easyocr/ — Wrapper EasyOCR └── paddleocr/ — Wrapper PaddleOCR ``` ## Spatial Grid Projection El componente más complejo y valioso: - **Anchor-based layout**: Detecta alineación (izq, der, centro, flotante) - **Forward anchors**: Mantiene info de alineación entre líneas - **Column detection**: Identifica layouts multi-columna - **Rotation handling**: Transforma texto rotado 90°/180°/270° - **OCR merging**: Combina texto nativo con OCR, preservando confidence ## Configuración Default-first: solo sobreescribir lo necesario. ```typescript const parser = new LiteParse({ ocr: true, // Habilitar OCR ocrLanguage: 'spa+eng', // Idiomas outputFormat: 'json', // json | text // ... más opciones }); ``` ## Casos de Uso 1. **Document pipelines** — Ingestión masiva de PDFs con preservación de layout 2. **RAG systems** — Extracción de documentos con contexto espacial 3. **OCR pipelines** — OCR selectivo solo donde es necesario 4. **Multi-format** — Unificar múltiples formatos a estructura consistente ## Data Flow Detallado ``` 1. Input: File path o raw bytes (cualquier formato soportado) 2. Conversion: No-PDF → PDF vía LibreOffice/ImageMagick 3. PDF Loading: PDFium extrae text items, imágenes, metadata 4. OCR: Páginas renderizadas y OCR'd solo donde texto falló 5. Grid Projection: Reconstrucción layout con anchor system 6. Post-processing: Bounding boxes, limpieza texto 7. Output: JSON o texto plano formateado ``` ## Decision Guide | Criterio | markitdown | liteparse | |----------|-----------|-----------| | Formatos | 15+ (PDF, DOCX, PPTX, XLSX, images, audio, HTML, ZIP, YouTube, EPUB...) | Solo PDF | | Velocidad | Moderada (Python) | Muy rápida (Rust/PDFium) | | Bounding boxes | No | Sí | | OCR | Básico | Flexible (Tesseract, EasyOCR, PaddleOCR, custom) | | Screenshots para agentes | No | Sí | ## Data Flow Detallado
在 GitHub 查看