news 2026/8/29 14:20:49

如何快速导出 LiteParse 布局块(Layout Blocks):版面分类数据完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何快速导出 LiteParse 布局块(Layout Blocks):版面分类数据完整指南

如何快速导出 LiteParse 布局块(Layout Blocks):版面分类数据完整指南

【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparse

LiteParse 是一款快速、轻量、完全开源的本地文档解析工具。除了输出 Markdown 和纯文本,它还能把文档的版面分类结果——即布局块(Layout Blocks)——连同每个块在页面上的坐标一并导出为结构化 JSON。只需一个--extract-blocks开关,你无需再手动拼接零散的文字片段,就能拿到"标题在哪、表格在哪个区域、代码块边界是多少"的完整数据,非常适合 RAG 切分、视觉引用和版面校验场景。

上图是 LiteParse 集成测试使用的一份扫描收据样本,其中的表头行、分隔线和商品明细行,正是版面分类器要识别的典型布局块。

什么是布局块:8 种版面元素一览

LiteParse 的 Markdown 渲染器本身就在工作:它先把页面逐行分类为不同"块",再渲染成 Markdown。开启布局块导出后,你拿到的就是渲染器内部使用的同一份分类结果——同样的顺序、同样的块,只是从"渲染文本"变成了"可查询数据"。

每个块都有一个kind,共 8 种类型:

类型(kind)含义附带的关键字段
heading标题textlevel(1–6 级)
paragraph段落text,可选bold/italic
list_item列表项textorderedmarkerlevel
code代码块lines(逐行原文)、lang
table表格headerrows(单元格均带独立坐标)
grid_fallback无法确信分类的表格区域(原样保留)lines
rule水平分隔线仅坐标
figure图片引用idformat

重点提示:表格单元格不是裸字符串,而是带textbbox的对象——这意味着你可以把"某个单元格"直接映射回它在页面上的具体区域,实现单元格级别的引用与高亮。

一条命令导出版面分类数据

无论通过npmpip还是cargo安装,LiteParse 都提供同一个lit命令行工具。导出布局块只需一行:

lit parse document.pdf --format json --extract-blocks -o output.json

生成的 JSON 中,每个页面会新增一个按阅读顺序排列的blocks数组。块内坐标采用与text_items一致的左上角原点、72-DPI 视口坐标系,方便直接叠加渲染。

例如一个表格块导出后长这样(节选自项目文档示例):

{ "kind": "table", "bbox": { "x": 72.0, "y": 310.5, "width": 468.0, "height": 96.0 }, "header": [ { "text": "Territory Code", "bbox": { "x": 72.0, "y": 310.5, "width": 120.0, "height": 24.0 } }, { "text": "Factor", "bbox": { "x": 192.0, "y": 310.5, "width": 96.0, "height": 24.0 } } ], "rows": [ [ { "text": "001", "bbox": { "x": 72.0, "y": 334.5, "width": 120.0, "height": 24.0 } }, { "text": "1.25", "bbox": { "x": 192.0, "y": 334.5, "width": 96.0, "height": 24.0 } } ] ] }

关于坐标的两个细节值得注意:

  • 块的bbox所有源行边界的并集——换行的标题或多行段落会报告它占据的完整带状区域;
  • 为"补齐参差网格"而存在的空单元格没有bbox,因为它在页面上没有真实墨迹。

各语言开启方式速查

环境开启方式
CLI--extract-blocks
Rustextract_blocks: true
Pythonextract_blocks=True
JavaScript / WASMextractBlocks: true

选项默认为关闭,不改变默认的 JSON 输出结构。官方文档中对应章节可参考docs/src/content/docs/liteparse/guides/extraction.mdx的 "Layout blocks" 小节,以及docs/src/content/docs/liteparse/guides/visual-citations.mdx中用布局块做整块引用的做法。

布局块导出的 3 个典型应用场景

📍视觉引用(Visual Citations)给 LLM Agent 回答做"划词高亮"时,逐个文字片段拼坐标非常繁琐;而每个布局块自带覆盖全部源行的bbox,直接圈出整个标题、段落或表格区域即可,表格还能细化到单元格。

🧩RAG 结构化切分按块而非按固定字数切分文档,每个 chunk 天然携带类型(段落 / 表格 / 代码)与位置信息,检索命中后可精确回溯到页面区域。

🔍版面解析质量审计blocks与渲染截图叠画比对,快速定位分类器误判(比如把脚注误判成标题)的区域,适合构建评测集时做标注对齐。

核心实现位置导览

想了解或二次开发分类逻辑,可以从以下模块入手:

  • crates/liteparse/src/markdown_layout/mod.rs— 版面分类模块入口,导出BlockPositionedBlock与页面分类函数
  • crates/liteparse/src/markdown_layout/blocks.rs#L82-L132Block枚举定义,8 种版面元素的源头
  • crates/liteparse/src/markdown_layout/classify.rs#L74-L81— 页面分类主流程classify_page_with_filters
  • crates/liteparse/src/layout.rs#L46-L95— 导出用的LayoutBlock结构体(JSON 中blocks数组的元素)
  • crates/liteparse/src/config.rs#L75-L85extract_blocks配置项定义
  • crates/liteparse/src/parser.rs#L241-L269apply_layout:分类一次、同时供给 Markdown 与 blocks 两个消费方
  • crates/liteparse/tests/integration_test.rs#L349-L390— 验证"开启导出后 Markdown 不变、每个块均带坐标、块按阅读顺序排列"的集成测试

使用小贴士 ⭐

  1. 不影响 Markdown 输出:开启--extract-blocks后渲染出的 Markdown 与关闭时逐字节一致,可放心同时导出两种产物;
  2. 顺序即阅读顺序:单栏页面上blocks按 y 坐标自上而下排列,多栏页面则遵循分类器重建的阅读流;
  3. 坐标空间统一blockstext_items、截图标注共用同一套左上原点 72-DPI 坐标,无需换算即可互相映射;
  4. 空页返回空列表而非缺失:开启了导出但页面无可分解内容时,blocks为空数组,便于下游代码统一处理。

从一条 CLI 命令到带坐标的结构化 JSON,LiteParse 的布局块导出让"版面分类"从渲染器的内部过程变成了可自由消费的数据——这正是构建下一代文档理解流水线所需要的底层原料。

【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparse

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 14:19:38

边缘AI模型验证实战:STM32N6部署与调优

做嵌入式AI落地三年多,我一直觉得最磨人的环节不是训练,而是“搬模型”。训练的时候精度再高,一部署到单片机上就各种水土不服:内存爆了、算子不支持、量化后精度掉得一塌糊涂。LAT1601这个应用笔记,讲的就是STM32N6上…

作者头像 李华
网站建设 2026/8/29 14:19:28

Ventoy 启动盘:多个系统镜像装进一个U盘,不用再反复格式化

Ventoy 启动盘:多个系统镜像装进一个U盘,不用再反复格式化 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy Ventoy 是一款开源启动盘工具:在U盘头部写入 32MB 引导区…

作者头像 李华
网站建设 2026/8/29 14:18:07

ST电源管理手册实战:从LDO/DC-DC选型到NVDC与低功耗设计

做嵌入式硬件这几年,案头翻得最勤的资料,除了MCU数据手册,就是电源管理手册。意法半导体的电源管理指南属于那种“平时觉得用不上,真出事才后悔没早看”的参考书,从LDO、DC-DC、PMIC到电池充电管理、上电时序、PCB布局…

作者头像 李华
网站建设 2026/8/29 14:17:27

Claude Skills 插件完整指南:3 步搭出你的 AI 自动化工作流

Claude Skills 插件完整指南:3 步搭出你的 AI 自动化工作流 【免费下载链接】awesome-claude-skills A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows 项目地址: https://gitcode.com/GitHub_Trending/aw/aw…

作者头像 李华
网站建设 2026/8/29 14:17:22

自动化框架选型与落地:从脚本执行到智能决策的关键实践

1. 自动化浪潮下的真实切面:从“跑腿”到“动脑”“自动化”这个词,在技术圈已经被聊得快要包浆了。厂商发布会提它,行业白皮书提它,连招聘JD里都恨不得把“自动化思维”写成岗位硬性要求。但说句实在话,我入行这些年见…

作者头像 李华