Type: concept
Confidence: 0.75
Created: 2026-04-18
Updated: 2026-04-18
Tags: 技术文档处理PDF

MinerUSpan格式

概述

MinerUSpan是MinerUPyMuPDF原始Span数据转换后的内部数据格式,统一了坐标系统、字体属性解析和初步类型标注,是贯穿整个解析流水线的核心数据单元。

关键内容

数据结构定义

@dataclass
class MinerUSpan:
    bbox: Tuple[float, float, float, float]  # (x0, y0, x1, y1),PDF坐标系
    content: str                             # 文字内容
    font_name: str                           # 字体名
    font_size: float                         # 字号(pt)
    font_weight: str                         # "bold" / "normal"
    font_style: str                          # "italic" / "normal"
    color: int                               # RGB 整数
    page_no: int                             # 所在页码
    type: str                                # "text" / "inline_equation" 等

与PyMuPDF原始Span的关键转换

从PyMuPDF的原始Span到MinerUSpan经历三个关键转换:

  1. 坐标归一化:PDF坐标(左下原点)→ 图像坐标(左上原点),处理PDF坐标系的Y轴翻转
  2. 字体解析:从字体名推断是否中文、是否等宽;将flags位掩码解码为font_weightfont_style字符串
  3. 初步类型标注:检测等宽字体→可能是代码;检测特殊字体→可能是行内公式

在流水线中的位置

MinerUSpan是MinerU七层流水线中第二层(底层PDF解析)的输出产物,后续层(布局检测、内容识别、分类标注、排序)都基于此格式进行扩展和标注。最终sorted_blocks中的每个内容块都包含经过多层处理的MinerUSpan集合。

设计动机

PyMuPDF原始数据存在噪声(超短碎片、水印、重叠Span),且坐标系与视觉模型不一致。MinerUSpan格式通过: - 统一坐标参照系统 - 标准化字体属性表示 - 增加页码和类型字段 为后续处理提供干净、一致的数据基础。

来源

相关