ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

如何快速导出 LiteParse 布局块(Layout Blocks):版面分类数据完整指南 如何快速导出 LiteParse 布局块Layout Blocks版面分类数据完整指南【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparseLiteParse 是一款快速、轻量、完全开源的本地文档解析工具。除了输出 Markdown 和纯文本它还能把文档的版面分类结果——即布局块Layout Blocks——连同每个块在页面上的坐标一并导出为结构化 JSON。只需一个--extract-blocks开关你无需再手动拼接零散的文字片段就能拿到标题在哪、表格在哪个区域、代码块边界是多少的完整数据非常适合 RAG 切分、视觉引用和版面校验场景。上图是 LiteParse 集成测试使用的一份扫描收据样本其中的表头行、分隔线和商品明细行正是版面分类器要识别的典型布局块。什么是布局块8 种版面元素一览LiteParse 的 Markdown 渲染器本身就在工作它先把页面逐行分类为不同块再渲染成 Markdown。开启布局块导出后你拿到的就是渲染器内部使用的同一份分类结果——同样的顺序、同样的块只是从渲染文本变成了可查询数据。每个块都有一个kind共 8 种类型类型kind含义附带的关键字段heading标题text、level1–6 级paragraph段落text可选bold/italiclist_item列表项text、ordered、marker、levelcode代码块lines逐行原文、langtable表格header、rows单元格均带独立坐标grid_fallback无法确信分类的表格区域原样保留linesrule水平分隔线仅坐标figure图片引用id、format重点提示表格单元格不是裸字符串而是带text和bbox的对象——这意味着你可以把某个单元格直接映射回它在页面上的具体区域实现单元格级别的引用与高亮。一条命令导出版面分类数据无论通过npm、pip还是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-blocksRustextract_blocks: truePythonextract_blocksTrueJavaScript / 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— 版面分类模块入口导出Block、PositionedBlock与页面分类函数crates/liteparse/src/markdown_layout/blocks.rs#L82-L132—Block枚举定义8 种版面元素的源头crates/liteparse/src/markdown_layout/classify.rs#L74-L81— 页面分类主流程classify_page_with_filterscrates/liteparse/src/layout.rs#L46-L95— 导出用的LayoutBlock结构体JSON 中blocks数组的元素crates/liteparse/src/config.rs#L75-L85—extract_blocks配置项定义crates/liteparse/src/parser.rs#L241-L269—apply_layout分类一次、同时供给 Markdown 与 blocks 两个消费方crates/liteparse/tests/integration_test.rs#L349-L390— 验证开启导出后 Markdown 不变、每个块均带坐标、块按阅读顺序排列的集成测试使用小贴士 ⭐不影响 Markdown 输出开启--extract-blocks后渲染出的 Markdown 与关闭时逐字节一致可放心同时导出两种产物顺序即阅读顺序单栏页面上blocks按 y 坐标自上而下排列多栏页面则遵循分类器重建的阅读流坐标空间统一blocks、text_items、截图标注共用同一套左上原点 72-DPI 坐标无需换算即可互相映射空页返回空列表而非缺失开启了导出但页面无可分解内容时blocks为空数组便于下游代码统一处理。从一条 CLI 命令到带坐标的结构化 JSONLiteParse 的布局块导出让版面分类从渲染器的内部过程变成了可自由消费的数据——这正是构建下一代文档理解流水线所需要的底层原料。【免费下载链接】liteparseA fast, helpful, and open-source document parser项目地址: https://gitcode.com/GitHub_Trending/li/liteparse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表