社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

8.2K Star!在 GitHub 上发现一款新开源的 OCR 神器,可本地快速解析文档!

开源星探 • 1 月前 • 168 次点击  

 

处理 PDF 文档解析,用一些在线工具不仅解析速度慢,还容易丢失排版信息,想在本地快速提取带位置信息的文本,选择真的不多。

市面上不是没有好方案,但很多需要网络、要走 API、数据要上传,对于企业内部场景——合同审查、财报分析、医疗记录——数据连内网都不能出。

最近看到 LiteParse 这个开源的 PDF 解析工具,主打本地运行、轻量快速,由 LlamaIndex 团队开发。

基于 PDFium 引擎做文本提取,内置 OCR 光学字符识别,开箱即用不需要额外配置,解析结果还能保留文字的精确位置信息。

除了 PDF,还能自动处理 Word、Excel、PPT 和图片等格式。支持批量解析整个文件夹,也能生成页面截图方便 AI 智能体提取视觉信息。

项目介绍

LiteParse 是 LlamaIndex 团队 3 月发布的开源项目,它的背景很有意思——团队在构建 LlamaParse(他们的云文档解析服务)的过程中,积累了很多关于如何做快速、轻量文档解析的经验,然后把其中最成熟、最通用的解析能力剥离出来,用 Rust 从零重写了一个本地版本。

LiteParse vs LlamaParse:

  • • LiteParse: 适合编码智能体和实时管道,看重速度、简洁性和本地执行。它是 LlamaParse 的核心处理部分,开源发布。输出格式有限(文本、截图、边界框),因为它避免了很多会增加延迟的处理。
  • • LlamaParse: 适合复杂文档处理,需要在困难布局、结构化输出模式(Markdown 表格、JSON 模式)和高级 OCR 上获得更高准确性。它是云服务,有专有模型可以扩展,不会被 LiteParse 替代。

简单说:如果你在构建智能体或实时应用,需要快速读取 PDF 然后继续,用 LiteParse;如果你在构建文档智能产品,需要完美处理每一个表格,用 LlamaParse。

核心亮点

1、本地运行,零云依赖

这可能是 LiteParse 最大的卖点——所有处理都在你的机器上完成,不需要网络连接,不需要 API Key,数据完全不会离开你的设备。这对于处理敏感文档或部署在受限环境中的团队特别重要。

2、超快速度,基于 PDFium

LiteParse 使用 Google 的 PDFium C 库进行文本提取——这也是 Chrome 浏览器使用的 PDF 引擎。它能提供字符级别的文本提取,每个字符都有精确的边界框、字体元数据、旋转处理和颜色信息。

3、灵活的 OCR 系统

  • • 内置 Tesseract:零配置,开箱即用,库已经包含
  • • HTTP 服务器:可以接入任何 OCR 服务器(EasyOCR、PaddleOCR、自定义)
  • • 标准 API:简单、定义清晰的 OCR API 规范

4、智能 OCR 策略

不是所有页面都需要 OCR!LiteParse 会智能判断:原生 PDF 文本提取是默认路径,OCR 只在没有可提取文本或字符映射混乱的页面触发。原生数字 PDF 完全跳过 OCR 阶段,大大提升了速度。

5、保留空间布局

这是 LiteParse 的核心设计决策——通过网格投影进行空间文本解析。大多数解析器试图将表格和结构化布局转换成 Markdown,但这在合并单元格、多级标题和不规则网格上会失败。

LiteParse 采取不同的方法:它将提取的文本投影到一个虚拟字符网格上,保留原始页面的视觉布局。假设是:LLM 已经知道如何从训练数据中读取空间格式的表格。所以解析器的工作是忠实地保留该结构,而不是解释它。

6、多语言、多平台支持

  • • 语言绑定:Rust、Node.js/TypeScript、Python、浏览器(WASM)
  • • 平台:Linux、macOS(Intel/ARM)、Windows

7、支持多种格式

除了 PDF,还支持:

  • • 办公文档:Word、Excel、PowerPoint、OpenDocument
  • • 图片:JPG、PNG、GIF、BMP、TIFF、WebP、SVG

功能特性

1、文本解析

  • • 空间文本解析,带边界框
  • • 保留精确的文本位置信息
  • • 支持多种输出格式:JSON、文本
  • • 可以指定页码范围解析

2、截图生成

可以生成高质量页面截图,这对 LLM 智能体特别重要——当需要 AI"看"文档中的图表、公式、手写批注时,截图比文本解析更可靠。

3、批量处理

可以解析整个目录的文档,支持递归搜索和文件扩展名过滤。

4、智能体友好

LiteParse 专门为智能体工作流程设计,它实现了一个强大的智能体模式:解析文本快速理解,需要深度视觉推理时回退到截图。

团队甚至把它打包成了编码智能体的技能:

npx skills add run-llama/llamaparse-agent-skills --skill liteparse

快速上手

LiteParse 支持四种语言环境,选你最顺手的:

# Python
pip install liteparse

# Node.js

npm i -g @llamaindex/liteparse

# Rust CLI

cargo install liteparse

# 浏览器 WASM

npm i @llamaindex/liteparse-wasm

安装即用,不需要额外下载模型或配置依赖。OCR 功能内置了 Tesseract,首次使用会自动下载语言包。

CLI 使用

# 解析一个 PDF,输出文本
lit parse report.pdf

# 输出结构化 JSON(带坐标)

lit parse report.pdf --format json -o output.json

# 指定页码范围

lit parse report.pdf --target-pages "1-5,10,15-20"

# 关闭 OCR(纯文本提取,速度更快)

lit parse report.pdf --no-ocr

# 从 URL 直接解析

curl -sL https://example.com/report.pdf | lit parse -

批量处理

# 解析整个目录下的所有文档
lit batch-parse ./input-docs ./output-docs

生成截图

# 生成所有页面的高清截图
lit screenshot document.pdf -o ./screenshots

# 指定页码

lit screenshot document.pdf --target-pages "1,3,5" -o ./screenshots

# 指定 DPI

lit screenshot document.pdf --dpi 300 -o ./screenshots

Python API 使用

from liteparse import LiteParse

parser = LiteParse()

# 解析 PDF

result = parser.parse("document.pdf")

# 获取结构化数据

for
 page in result.pages:
    for
 item in page.text_items:
        print
(f"文本: {item.text}")
        print
(f"位置: ({item.x}, {item.y}), 大小: {item.width}x{item.height}")
        print
(f"字体: {item.font_name}, 字号: {item.font_size}")
        print
("---")

Node.js API 使用

import { LiteParse } from '@llamaindex/liteparse';

const
 parser = new LiteParse();
const
 result = await parser.parse('document.pdf');
console
.log(result.text);

// 访问结构化数据

for
 (const page of result.pages) {
    console
.log(`Page ${page.pageNum}: ${page.textItems.length} text items`);
}

OCR 配置

默认:Tesseract

Tesseract 是内置的,开箱即用:

# 解析,OCR 默认启用
lit parse document.pdf

# 指定语言

lit parse document.pdf --ocr-language fra

# 禁用 OCR

lit parse document.pdf --no-ocr

对于离线或隔离环境,设置 TESSDATA_PREFIX 到包含预下载的 .traineddata 文件的目录:

export TESSDATA_PREFIX=/path/to/tessdata
lit parse document.pdf --ocr-language eng

或者直接传入路径:

lit parse document.pdf --tessdata-path /path/to/tessdata

可选:HTTP OCR 服务器

如果想要更高的准确率或更好的性能,可以使用 HTTP OCR 服务器。LiteParse 为流行的 OCR 引擎提供了现成的示例包装器:

  • • EasyOCR[1]
  • • PaddleOCR[2]

你可以通过实现简单的 LiteParse OCR API 规范来集成任何 OCR 服务。API 需要:

  • • POST /ocr 端点
  • • 接受 file 和 language 参数
  • • 返回 JSON: { results: [{ text, bbox: [x1,y1,x2,y2], confidence }] }

写在最后

LiteParse 是一个定位非常清晰的工具——它不是要替代所有解析器,而是要在"本地、快速、轻量"这个场景做到最好。

由 LlamaIndex 团队背书,用 Rust 实现,支持多种语言绑定,开箱即用的 OCR,保留空间布局的输出,这些特性让它在 RAG 和智能体场景特别有价值。

GitHub: https://github.com/run-llama/liteparse

文档: https://developers.llamaindex.ai/liteparse







如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️

在看你就赞赞我!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/197138