SuperAPI AI 工具集

liteparse

数据与分析

查看项目

更新于 10-21 19:26

技能介绍

LiteParse 是一个快速、开源的文档解析器,核心用 Rust 编写,提供 Python 与 Node 绑定,专注于本地、保留版面布局的文本抽取,并返回带边界框(bounding boxes)的空间文本。它不生成 Markdown,也不调用云端大模型。输出为保留布局的纯文本,或结构化 JSON,其中每页包含 text_items(位置、字体元数据、可选置信度)。

版本说明:示例针对 liteparse 2.0.0(PyPI,2026 年 5 月)。上游 V1 分支为旧版,本技能仅记录 V2 / main。

用途

当你需要以下能力时使用 LiteParse:

  • 无需云端依赖,快速本地解析 PDF 或转换后的 Office/图片文件
  • 带边界框的空间文本,用于版面感知的 RAG、引用溯源或图表区域逻辑
  • 对扫描版 PDF 或图片运行 OCR(内置 Tesseract,或用户自建的 HTTP OCR 服务器)
  • 为必须查看图表、插图或手写的多模态智能体生成页面截图(PNG)
  • 批量摄取文献文件夹、补充 PDF 或协议库
  • 解析页面子集或密码保护的 PDF

不适用场景

  • 需要供 LLM 摄取用的 Markdown(EPUB、音频、YouTube、HTML):改用 markitdown 技能
  • 合并/拆分 PDF、表单、水印、旋转:改用 pdf 技能
  • 密集表格、手写、生产级云端流水线:改用 LlamaParse(云端,需单独注册)

安装

uv pip install "liteparse==2.0.0"

这会安装 Python 绑定与 lit CLI。验证:

lit --help python -c "import liteparse; print(liteparse.version)"

可选系统工具(用于非 PDF 输入):

  • LibreOffice — Word、Excel、PowerPoint、OpenDocument、CSV/TSV
  • ImageMagick — PNG、JPEG、TIFF、WebP、SVG 等

Node.js / TypeScript(可选):npm i @llamaindex/liteparse

快速开始

Python:

from liteparse import LiteParse

parser = LiteParse(quiet=True) result = parser.parse("paper.pdf") print(result.text)

for page in result.pages: print(f"Page {page.page_num}: {len(page.text_items)} items")

CLI:

保留布局的文本(默认)

lit parse paper.pdf

带边界框的结构化 JSON

lit parse paper.pdf --format json -o paper.json

在文本原生 PDF 上禁用 OCR(更快)

lit parse paper.pdf --no-ocr

主要能力与使用方式

  1. 解析为保留布局的文本:适合快速获取全文,或喂给不需要坐标的分块器。

parser = LiteParse(ocr_enabled=True, quiet=True) result = parser.parse("document.pdf") full_text = result.text

lit parse document.pdf -o output.txt

  1. 解析为结构化 JSON(含边界框):用于构建版面感知 RAG、高亮源区域,或将文本与截图关联。

import json from liteparse import LiteParse

parser = LiteParse(output_format="json", quiet=True) result = parser.parse("document.pdf")

for page in result.pages: for item in page.text_items: bbox = (item.x, item.y, item.width, item.height) # item.text, item.confidence, item.font_name, item.font_size

lit parse document.pdf --format json -o document.json

  1. 解析指定页面:

parser = LiteParse(target_pages="1-5,10,15-20", quiet=True) result = parser.parse("long_paper.pdf")

lit parse long_paper.pdf --target-pages "1-5,10"

  1. 从字节或 stdin 解析:适用于上传、S3 下载或管道传输远程 PDF。

with open("document.pdf", "rb") as f: result = parser.parse(f.read())

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

  1. 为多模态智能体生成页面截图:截图可捕获纯文本抽取遗漏的视觉内容(插图、复杂表格、手写)。

from pathlib import Path

parser = LiteParse(dpi=150, quiet=True) shots = parser.screenshot("document.pdf", page_numbers=[1, 2, 3]) out = Path("screenshots") out.mkdir(exist_ok=True) for s in shots: (out / f"page_{s.page_num}.png").write_bytes(s.image_bytes)

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

当智能体需要同一页面的坐标与像素时,可组合 JSON 解析与截图。

  1. 批量解析目录:大型语料优先使用 CLI(并行 OCR 工作进程)或内置脚本。

lit batch-parse ./papers ./parsed --format json --recursive lit batch-parse ./papers ./parsed --extension .pdf --no-ocr

python scripts/batch_parse_dir.py ./papers ./parsed --format json --recursive

  1. OCR 配置:OCR 默认开启,内置 Tesseract,基础英文 OCR 无需额外安装。

parser = LiteParse( ocr_enabled=True, ocr_language="eng", # Tesseract 代码:fra、deu 等 num_workers=4, # 并行 OCR(默认:CPU 核心数 - 1) dpi=150, # DPI 越高 OCR 越好,但更慢 )

lit parse scan.pdf --ocr-language fra lit parse scan.pdf --no-ocr lit parse scan.pdf --ocr-server-url http://localhost:8080/ocr

离线/气隙环境:将 TESSDATA_PREFIX 指向存放 .traineddata 文件的目录,或传入 --tessdata-path。

  1. 加密 PDF:

parser = LiteParse(password="secret", quiet=True) result = parser.parse("protected.pdf")

lit parse protected.pdf --password secret

  1. 按短语搜索文本项:合并相邻项并返回短语的组合边界框(如章节标题)。

from liteparse import search_items

page = result.get_page(1) matches = search_items(page.text_items, "Materials and Methods", case_sensitive=False)

多格式输入

  • PDF:.pdf,原生支持
  • Office:.docx、.xlsx、.pptx、.doc、.odt 等,需 LibreOffice
  • 图片:.png、.jpg、.tiff、.webp、.svg 等,需 ImageMagick

文件会先内部转换为 PDF,再解析。若缺少转换工具,解析会以可操作的错误失败——安装依赖后重试。

性能建议

  • 对原生数字 PDF 使用 --no-ocr — 提速最明显
  • 使用 target_pages — 只解析方法/补充材料等章节
  • 使用 num_workers — 跨 CPU 核心扩展 OCR
  • 使用 max_pages — 限制超大文件(默认 1000)
  • 使用 lit batch-parse — 目录级任务,配合 --recursive 与 --extension
  • 当 OCR 质量已足够时降低 dpi(如 100)

适用场景

  • 版面感知 RAG 与引用溯源
  • 扫描件与图片 OCR
  • 多模态智能体的页面截图
  • 文献、补充材料、协议库的批量摄取
  • 页面子集与加密 PDF 解析

限制

  • 不生成 Markdown,不调用云端 LLM
  • 非 PDF 输入依赖 LibreOffice 与 ImageMagick
  • 密集表格、手写、生产级云端流水线建议改用 LlamaParse
  • 版本相关细节可能过时,应以所安装版本的官方文档为准

资源

  • GitHub:https://github.com/run-llama/liteparse
  • 文档:https://developers.llamaindex.ai/liteparse/
  • PyPI:https://pypi.org/project/liteparse/2.0.0/
  • npm:https://www.npmjs.com/package/@llamaindex/liteparse
  • OCR API 规范:https://github.com/run-llama/liteparse/blob/main/OCR_API_SPEC.md