主题
LiteParse 提供 lit CLI,包含四个命令:parse、batch-parse、screenshot 与 is-complex。无论通过 npm、pip 安装,还是从 Rust 源码构建,CLI 都是同一个。
lit parse
解析单个文档。
lit parse [options] <file>位置参数
| 参数 | 说明 |
|---|---|
file | 文档文件路径,或传 - 从 stdin 读取 |
选项
| 选项 | 说明 | 默认值 |
|---|---|---|
-o, --output <file> | 把输出写到文件而不是 stdout | — |
--format <format> | 输出格式:json、text 或 markdown | text |
--image-mode <mode> | markdown 里的图片处理方式:off、placeholder 或 embed | placeholder |
--image-output-dir <dir> | 写出抽取图片的目录。需要 --extract-images(或隐含它的 --image-mode embed) | — |
--no-links | 在 markdown 里把链接锚文字输出为纯文本(不写 [text](url)) | — |
--keep-headers-footers | 在 markdown 里保留滚动的页眉/页脚而不是剥离它们 | — |
--no-ocr | 完全关闭 OCR | — |
--ocr-language <lang> | OCR 语言代码(Tesseract 格式) | eng |
--ocr-server-url <url> | HTTP OCR 服务 URL | —(使用 Tesseract) |
--ocr-server-header <header> | 为 OCR 服务请求附加的 HTTP 头,写作 "Name: Value"。可重复 | — |
--tessdata-path <path> | tessdata 目录路径 | —(使用 TESSDATA_PREFIX 环境变量) |
--num-workers <n> | 并行 OCR 的页数 | CPU 核数 - 1 |
--max-pages <n> | 最多解析多少页 | 1000 |
--target-pages <pages> | 要解析的页(例如 "1-5,10") | —(全部页) |
--dpi <dpi> | 渲染 DPI | 150 |
--preserve-small-text | 保留极小文字 | — |
--password <password> | 加密/受保护文档的密码 | — |
-q, --quiet | 抑制进度输出 | — |
抽取选项
默认情况下,JSON 输出只包含文本、几何信息与页面元数据。下面每个选项都默认关闭,并会在 JSON 输出里新增一个键。只开启你需要的 —— 每一个都会消耗解析时间与输出体积。
| 选项 | 在 JSON 中新增 | 说明 |
|---|---|---|
--extract-images | images[], image_error_count | 抽取内嵌位图的字节与元数据。配合 --image-output-dir 可把文件写到磁盘 |
--extract-vector-graphics | pages[].vector_graphics | 带边界框、描边/填充色的矢量形状与直线({ shapes, lines }) |
--extract-annotations | pages[].annotations | PDF 批注:子类型、内容、时间戳、矩形、链接 URI |
--extract-form-fields | pages[].form_fields | AcroForm 控件:类型、名称、值、标志、选项、矩形 |
--extract-structure-tree | pages[].structure_tree | 标签 PDF 的逻辑结构树({ roots }),含逐元素属性 |
--extract-blocks | pages[].blocks | 按阅读顺序排列的分类版面块(标题、段落、列表项、带逐格边界框的表格、代码、分隔线、图形),每块带边界框 |
--extract-content-bounds | pages[].content_bounds | 页面上实际内容的边界框,类型为 Rect |
--extract-xfa-packets | xfa_packets[](文档级) | 来自 XFA 表单的原始 XFA 数据包 |
--extract-text-metadata | 每个 text_items[] 条目上的额外键 | 丰富的逐项排版信息:font_height、font_ascent、font_descent、font_weight、text_width、font_is_buggy、mcid、fill_color、stroke_color,外加 rotation |
--complexity | pages[].complexity | 逐页复杂度信号,含嵌套的 layout 对象。见文档复杂度指南 |
示例
终端窗口
# Basic text parsing
lit parse report.pdf
# JSON output with bounding boxes
lit parse report.pdf --format json -o report.json
# Markdown output (headings, tables, lists, images, links)
lit parse report.pdf --format markdown -o report.md
# Markdown with extracted images written to disk
lit parse report.pdf --format markdown --extract-images --image-output-dir ./images
# Pull form fields and annotations out of a filled-in PDF
lit parse form.pdf --format json --extract-form-fields --extract-annotations
# Rich typography metadata on every text item
lit parse report.pdf --format json --extract-text-metadata
# Inline complexity signals (including layout) alongside the parse
lit parse report.pdf --format json --complexity
# Authenticated OCR server
lit parse scan.pdf --ocr-server-url https://ocr.internal/ocr \
--ocr-server-header "Authorization: Bearer $TOKEN"
# Parse pages 1-5 only, no OCR
lit parse report.pdf --target-pages "1-5" --no-ocr
# High-DPI rendering with French OCR
lit parse report.pdf --dpi 300 --ocr-language fra
# Use an external OCR server
lit parse report.pdf --ocr-server-url http://localhost:8828/ocr
# Pipe output to another tool
lit parse report.pdf -q | wc -l
# Parse a remote file via stdin
curl -sL https://example.com/report.pdf | lit parse --no-ocr -lit batch-parse
解析目录中的多个文档。
lit batch-parse [options] <input-dir> <output-dir>位置参数
| 参数 | 说明 |
|---|---|
input-dir | 存放待解析文档的目录 |
output-dir | 输出文件的目录 |
选项
| 选项 | 说明 | 默认值 |
|---|---|---|
--format <format> | 输出格式:json、text 或 markdown | text |
--no-ocr | 完全关闭 OCR | — |
--ocr-language <lang> | OCR 语言代码 | eng |
--ocr-server-url <url> | HTTP OCR 服务 URL | —(使用 Tesseract) |
--ocr-server-header <header> | 为 OCR 服务请求附加的 HTTP 头,写作 "Name: Value"。可重复 | — |
--tessdata-path <path> | tessdata 目录路径 | — |
--num-workers <n> | 并行 OCR 的页数 | CPU 核数 - 1 |
--max-pages <n> | 每个文件最多多少页 | 1000 |
--dpi <dpi> | 渲染 DPI | 150 |
--recursive | 递归搜索子目录 | — |
--extension <ext> | 只处理该扩展名(例如 ".pdf") | —(全部受支持格式) |
--password <password> | 加密/受保护文档的密码(应用到所有文件) | — |
-q, --quiet | 抑制进度输出 | — |
batch-parse 接受与 lit parse 相同的抽取选项:--extract-images、--extract-vector-graphics、--extract-annotations、--extract-form-fields、--extract-structure-tree、--extract-blocks、--extract-content-bounds、--extract-xfa-packets、--extract-text-metadata 与 --complexity。
它不接受 --target-pages、--preserve-small-text、--image-mode、--image-output-dir、--no-links 与 --keep-headers-footers。需要这些时,请对每个文件单独使用 lit parse。
示例
终端窗口
# Parse all supported files in a directory
lit batch-parse ./documents ./output
# Recursively parse only PDFs
lit batch-parse ./documents ./output --recursive --extension ".pdf"
# Batch parse with JSON output and no OCR
lit batch-parse ./documents ./output --format json --no-ocrlit screenshot
从文档生成页面图片(PDF、DOCX、XLSX、图片等)。
lit screenshot [options] <file>位置参数
| 参数 | 说明 |
|---|---|
file | 文档文件路径 |
选项
| 选项 | 说明 | 默认值 |
|---|---|---|
-o, --output-dir <dir> | 输出目录 | ./screenshots |
--target-pages <pages> | 要截图的页(例如 "1,3,5" 或 "1-5") | —(全部页) |
--dpi <dpi> | 渲染 DPI | 150 |
--password <password> | 加密/受保护文档的密码 | — |
-q, --quiet | 抑制进度输出 | — |
示例
终端窗口
# Screenshot all pages of a PDF
lit screenshot document.pdf -o ./pages
# Screenshot a Word document (requires LibreOffice)
lit screenshot report.docx -o ./pages
# First 5 pages at high DPI
lit screenshot document.pdf --target-pages "1-5" --dpi 300 -o ./pages
# Specific pages only
lit screenshot document.pdf --target-pages "1,5,10" -o ./pageslit is-complex
检查一篇文档是否需要 OCR 或更重的解析 —— 只是一次对文字层的廉价预解析(不做位图化,也不做 OCR)。细节见文档复杂度指南。
lit is-complex [options] <file>该命令把逐页 JSON 打到 stdout,把人类可读的结论打到 stderr,并且只要有页需要 OCR 就以非零码退出 —— 因此它既可以当 shell 判断条件,也可以作为 jq 的输入源。
位置参数
| 参数 | 说明 |
|---|---|
file | 文档文件路径 |
选项
| 选项 | 说明 | 默认值 |
|---|---|---|
--compact | 输出紧凑、不含空白的 JSON,而不是美化排版 | — |
--max-pages <n> | 最多检查多少页 | 1000 |
--target-pages <pages> | 要检查的页(例如 "1-5,10,15-20") | —(全部页) |
--password <password> | 加密/受保护文档的密码 | — |
-q, --quiet | 抑制 stderr 的结论 | — |
示例
终端窗口
# Print the complexity verdict and per-page JSON
lit is-complex document.pdf
# Use as a shell predicate: only parse with --no-ocr when simple
lit is-complex document.pdf --quiet && lit parse document.pdf --no-ocr
# List the page numbers that need OCR
lit is-complex document.pdf --compact | jq '[.[] | select(.needs_ocr) | .page_number]'全局选项
以下选项在所有命令上都可用:
| 选项 | 说明 |
|---|---|
-h, --help | 显示某个命令的帮助 |
-V, --version | 显示版本号 |