解析远程 PDF:LiteParse 管道与 stdin 用法详解
【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparse
LiteParse 是一款快速、轻量的开源 PDF 解析工具,能把 PDF 转成 Markdown、JSON 或纯文本。如果你的 PDF 存放在网上(HTTP 链接、对象存储、API 返回),不需要先下载到本地:LiteParse 的 CLI 支持用-占位符直接从 stdin 读取字节,一条管道命令即可完成「远程 PDF → 结构化文本」的完整解析。
为什么用 stdin 管道解析远程 PDF
传统流程是三步:下载文件 → 解析文件 → 清理临时文件。中间一步既产生磁盘 I/O,又留下需要处理的临时文件。
stdin 管道让 LiteParse 直接从标准输入读取 PDF 字节流,带来三个好处:
- ✅不落盘:PDF 字节不需要写入磁盘,省掉临时文件管理
- ✅可组合:任何能把字节写到 stdout 的工具(
curl、wget、aws s3 cp…)都能接入 - ✅易脚本化:天然适配 shell 脚本、CI 流水线和 Agent 工作流
stdin 用法详解:一个参数-就是全部
核心用法只有一件事:把文件参数写成-。LiteParse 检测到-后,会切换为「读尽 stdin 全部字节」的模式,再把这些字节作为内存输入交给解析器。
curl -sL https://example.com/report.pdf | lit parse -对应实现位于 CLI 入口:当文件参数为-时,调用read_stdin_bytes()读取 stdin,并以PdfInput::Bytes形式传入解析器,见 crates/liteparse/src/main.rs。
💡 一个贴心的细节:如果传了-却没有管道任何数据进来,LiteParse 会给出明确的报错提示而不是无响应:
no data on stdin (input
-expects a document piped in, e.g.curl … | lit parse -)
这个错误提示定义在 crates/liteparse/src/main.rs,排错时非常直观。
解析远程 PDF 的 3 个常用命令
1. 基本用法:curl 拉取,直接输出文本
curl -sL https://example.com/report.pdf | lit parse -解析结果(纯文本)会打印到终端,其余参数与本地文件解析完全一致。
2. 带选项解析:所有参数都照常用
stdin 模式下,lit parse的全部选项照常可用,放在-之前即可:
# 关闭 OCR,输出带边界框的 JSON curl -sL https://example.com/report.pdf | lit parse --no-ocr --format json - # 输出 Markdown(标题、表格、列表、链接),保存到本地文件 curl -sL https://example.com/report.pdf | lit parse --format markdown -o report.md -3. 字节源不限:wget、对象存储都行
# 从对象存储直接读取 aws s3 cp s3://bucket/report.pdf - | lit parse --format markdown - # 使用 wget wget -qO- https://example.com/report.pdf | lit parse -快速安装 CLI:三种渠道,同一个 lit 命令
无论用哪种语言渠道安装,得到的都是同一个lit命令,stdin 用法完全一致:
| 语言渠道 | 安装命令 |
|---|---|
| Node.js / TypeScript | npm i -g @llamaindex/liteparse |
| Python | pip install liteparse |
| Rust | cargo install liteparse |
更多 CLI 细节可参考 crates/liteparse/README.md。
TypeScript 直连解析:跳过 curl,直接喂字节
如果在 Node.js 环境中写库代码,更推荐直接把字节喂给解析器,而不需要 shell 管道:
import { LiteParse } from "@llamaindex/liteparse"; const response = await fetch("https://example.com/report.pdf"); const buffer = Buffer.from(await response.arrayBuffer()); const parser = new LiteParse({ ocrEnabled: false }); const result = await parser.parse(buffer); console.log(result.text);库接口直接接受Buffer/Uint8Array,下载方式(fetch、S3 SDK 等)完全由你决定,更易于控制超时与重试。CLI 侧管道实现的入口分别在 packages/node/src/cli.ts 与 crates/liteparse-python/src/cli.rs。
相关文档与源码路径
- 官方 URL 解析指南:docs/src/content/docs/liteparse/guides/parsing-urls.md
- CLI 完整参考:docs/src/content/docs/liteparse/cli-reference.md
- 主项目说明:README.md
- 解析入口源码:crates/liteparse/src/main.rs
小结:3 步解析远程 PDF
- 用
curl/wget/aws s3 cp把 PDF 字节写入标准输入 lit parse的文件参数写成-- 按需追加
--format markdown、--no-ocr、-o 输出文件等选项
LiteParse 全程在本地运行、无云端依赖,stdin 管道方式尤其适合脚本、CI 与 Agent 自动化场景——远程 PDF 从此不必「先下载,再解析」。
【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparse
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考