headless 交叉引用

HPDFHeadlessXRef 提供 THPDFHeadlessDocument 使用的经验证的 xref 流与对象流索引;字典与对象流头部用共享对象解析器,大端字段用共享 Direct File 字节读取器

HPDFHeadlessDecodeXRefRows(Dictionary, DecodedBytes, MaxObjects, CancellationToken) 在调用方解码过滤与预测器之后读取直接的 Type、Size、W 与可选 Index 条目

THPDFHeadlessXRefRows 是 THPDFHeadlessXRefRow 记录数组,含 ObjectNumber 与共享的 THPDFDirectXrefEntry(作为 Entry);entry kind 0、1、2 分别标识 free、direct 与压缩对象

宽度为 0 到 8 字节,省略字段用 PDF 默认值,偏移保留 Int64 精度;子节重叠、载荷长度不匹配、越界 generation 与无符号溢出都会在索引对象之前被拒绝

HPDFHeadlessReadObjectStreamIndex(Dictionary, DecodedBytes, MaxObjects, MaxDecodedBytes, CancellationToken) 校验直接的 Type=ObjStm、N 与 First,然后经共享解析器解析数字头部

THPDFHeadlessObjectStreamMembers 是 THPDFHeadlessObjectStreamMember 记录数组,含 ObjectNumber、从零计数的解码载荷 Offset 与正数 Length;重复对象编号、非整数对、非法偏移与配置预算都会被拒绝

HPDFHeadlessObjectStreamBody(Members, DecodedBytes, MemberIndex, ExpectedObjectNumber) 在对照容器头部校验权威 xref 成员编号之后返回精确的成员切片;文档调用方经共享解析器解析该切片

EHPDFHeadlessXRefError 报告消息与只读 LimitExceeded 标志,取消则抛出 EHPDFOperationCancelled;字典与解码缓冲归调用方所有,返回数组包含值记录

该 provider 负责字节索引与校验;修订优先级、hybrid 副节合并、过滤解码、解密、对象缓存与文档所有权仍归文档加载器

精确数值

当转 Single 会舍入或数值幅度超过 16777216 时,共享解析器保留原始源 token;交叉引用与对象流整数读取器优先用该 token 获得精确 Int64 偏移与下标,小精确整数保留省分配路径

测试使用共享写入器与独立的压缩对象 PDF,覆盖 40 位偏移、宽度/默认值、预测器、稀疏范围、hybrid 优先级、畸形成员下标与修订循环,并保留原解析器的分配与吞吐阈值