项目简介
LiteParse 是一款独立 PDF 解析工具,提供带边界框的空间文本解析、灵活 OCR 系统,并支持多种输出格式。它本地运行,可集成 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
常见问题 (5)
故障排除为什么liteparse返回的TextItem x和y是网格投影坐标而不是PDF点坐标?
在 liteparse v2.0.0-beta.2 中,TextItem.x 和 TextItem.y 被错误地设置为网格投影坐标(字符列和行索引),而非 PDF 点坐标。这是一个已知缺陷。作为临时解决方案,请使用开发者 CLI 工具提取原始 PDF 点坐标:
python -m liteparse.cli extract --pdf-path <your_pdf.pdf>该命令将返回带有正确
x、y、width、height 以及额外元数据的预投影项。团队正在着手永久修复;请关注该仓库的后续版本发布。操作指南如何使用LiteParse在Cloudflare Workers或边缘运行时解析PDF?
使用 @llamaindex/liteparse-wasm 包。它提供了一个基于WebAssembly的PDF解析器,兼容Cloudflare Workers、Deno Deploy、Vercel Edge和浏览器。使用 npm install @llamaindex/liteparse-wasm 安装,并直接导入PDF解析器。查看包的README文件以获取使用示例。原始的依赖Node.js的liteParse包由于原生模块不支持边缘运行时。
故障排除如何修复使用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;请将变量设置为该路径。
故障排除如何修复含有长水印或页眉的PDF文件中的静默OCR失败问题?
当前的LiteParse版本使用硬编码的文本长度阈值100字符来决定页面是否需要进行OCR。如果页面的原生文本字符数超过100(例如,巴西TJCE的数字水印约289字符,或长页眉/页脚可达1310字符),则会跳过OCR,导致扫描的正文内容被静默丢弃。解决方法:fork该crate,编辑crates/liteparse/src/ocr_merge.rs,并增加阈值(例如,将100改为1500)。或者,修改条件以强制对所有页面进行OCR。在issue #235中提出了永久修复方案,使阈值可配置。
故障排除如何在LiteParse v2中对非PDF文档(DOCX、PPTX、图片)进行截图?
在LiteParse v2中,screenshot()目前仅支持PDF格式输入。若需截取其他格式(Office文档、图片等),请先使用lit parse或LibreOffice等外部工具将文档转换为PDF,再将生成的PDF传入screenshot。示例:lit parse input.docx --output converted.pdf && lit screenshot converted.pdf。此为临时解决方案。screenshot()的原生多格式支持已在issue #214(需与v1保持功能一致)中跟踪进展。