SuperAPI AI 工具集

parse

办公与效率

查看项目

更新于 10-16 06:55

技能介绍

用途

LiteParse 用于在本地解析非结构化文档,支持多格式文档转换与空间化文本提取。它快速、轻量,无需云依赖,也不需要 LLM。

主要能力

  • 解析多种格式:PDF、Word(.doc/.docx/.docm/.odt/.rtf)、PowerPoint(.ppt/.pptx/.pptm/.odp)、表格(.xls/.xlsx/.xlsm/.ods/.csv/.tsv)、图片(.jpg/.jpeg/.png/.gif/.bmp/.tiff/.webp/.svg)。
  • 输出纯文本或带边界框的结构化 JSON。
  • 支持 OCR(默认内置 Tesseract.js,可指定语言,也可接入外部 HTTP OCR 服务器)。
  • 支持指定页码范围、DPI、最大页数等参数。
  • 支持批量解析目录,可按扩展名过滤并递归处理。
  • 支持生成页面截图,便于需要查看视觉布局的 LLM 智能体使用。

使用方式

安装

npm i -g @llamaindex/liteparse

验证安装:

lit --version

Office 文档支持需要 LibreOffice:

# macOS
brew install --cask libreoffice

# Ubuntu/Debian
apt-get install libreoffice

图片解析需要 ImageMagick:

# macOS
brew install imagemagick

# Ubuntu/Debian
apt-get install imagemagick

解析单个文件

# 基础文本提取
lit parse document.pdf

# JSON 输出保存到文件
lit parse document.pdf --format json -o output.json

# 指定页码范围
lit parse document.pdf --target-pages "1-5,10,15-20"

# 禁用 OCR(更快,适用于纯文本 PDF)
lit parse document.pdf --no-ocr

# 使用外部 HTTP OCR 服务器以提高准确率
lit parse document.pdf --ocr-server-url http://localhost:8828/ocr

# 更高 DPI 以获得更好质量
lit parse document.pdf --dpi 300

批量解析目录

lit batch-parse ./input-directory ./output-directory

# 仅处理 PDF,递归
lit batch-parse ./input ./output --extension .pdf --recursive

生成页面截图

# 所有页面
lit screenshot document.pdf -o ./screenshots

# 指定页面
lit screenshot document.pdf --pages "1,3,5" -o ./screenshots

# 高 DPI PNG
lit screenshot document.pdf --dpi 300 --format png -o ./screenshots

# 页面范围
lit screenshot document.pdf --pages "1-10" -o ./screenshots

关键选项

OCR 选项:

  • 默认:Tesseract.js,零配置,内置。
  • --ocr-language fra:设置 OCR 语言(ISO 代码)。
  • --ocr-server-url <url>:使用外部 HTTP OCR 服务器(EasyOCR、PaddleOCR、自定义)。
  • --no-ocr:完全禁用 OCR。

输出选项:

  • --format json:带边界框的结构化 JSON。
  • --format text:纯文本(默认)。
  • -o <file>:将输出保存到文件。

性能/质量选项:

  • --dpi <n>:渲染 DPI(默认 150;高质量用 300)。
  • --max-pages <n>:限制解析页数。
  • --target-pages <pages>:解析指定页面(如 "1-5,10")。
  • --no-precise-bbox:禁用精确边界框(更快)。
  • --skip-diagonal-text:忽略旋转/对角文本。
  • --preserve-small-text:保留否则会被丢弃的极小文本。

使用配置文件

可生成 liteparse.config.json 以复用一致选项:

{
  "ocrLanguage": "en",
  "ocrEnabled": true,
  "maxPages": 1000,
  "dpi": 150,
  "outputFormat": "json",
  "preciseBoundingBox": true,
  "skipDiagonalText": false,
  "preserveVerySmallText": false
}

使用 HTTP OCR 服务器时:

{
  "ocrServerUrl": "http://localhost:8828/ocr",
  "ocrLanguage": "en",
  "outputFormat": "json"
}

配合使用:

lit parse document.pdf --config liteparse.config.json

HTTP OCR 服务器 API(高级)

自定义 OCR 后端需实现:

  • 端点:POST /ocr
  • 接受:file(multipart)和 language(字符串)参数
  • 返回:
{
  "results": [
    { "text": "Hello", "bbox": [x1, y1, x2, y2], "confidence": 0.98 }
  ]
}

LiteParse 仓库中提供了 EasyOCR 和 PaddleOCR 的即用包装器。

适用场景

  • 需要本地、无云依赖地解析 PDF、Office 文档或图片。
  • 需要带边界框的结构化 JSON 输出以进行空间化文本提取。
  • 需要批量处理目录中的文档。
  • 需要为 LLM 智能体生成页面截图以查看视觉布局。

限制

  • Office 文档需要 LibreOffice;图片需要 ImageMagick。LiteParse 会先将这些格式自动转换为 PDF 再解析。
  • 默认 OCR 使用 Tesseract.js;更高准确率需接入外部 HTTP OCR 服务器。
  • 关于收费、价格、平台支持范围等更多信息暂未提供。