可扩展和随机访问的 PDF 加载
HotPDF 通过将流复制和压缩对象解析推迟到需要数据时才执行,保持大型已加载文件的响应能力
文件支持的流窗口
使用 LoadFromFile 打开的未加密文档将不可变的流主体保留为源文件范围
读取会定位到所需范围并立即释放源句柄,因此原始文件在 Windows 上仍可被替换
首次写入在该流等于或低于 LoadedStreamMemoryThreshold 时将其物化到内存中,或在更大时物化到一个自有的临时文件中
惰性对象流
每个已解码的 /Type /ObjStm 容器按权威的 xref 对象编号建立索引,而无需在打开期间解析每一个成员
Catalog、页面树以及随后的链接解析会一次性物化单个成员,并重用其已解析的对象
完整重写会自动物化每一个剩余成员,而未更改的文件支持保存可以直接保留原始字节
自定义随机访问
从 THPDFRandomAccessSource 派生并实现 GetSize 和 ReadAt,以从 HTTP 范围、数据库、归档或虚拟存储加载
LoadFromRandomAccessSource 将源适配到 HotPDF 的可定位解析器,并可以选择在文档生命周期内拥有该源
诊断
GetLoadedStreamCacheInfo报告源支持、内存物化和磁盘物化的流数量GetLoadedObjectStreamCacheInfo报告已索引和已物化的成员、缓存命中和未命中,以及保留的已解码字节数
另请参阅: LoadFromRandomAccessSource、LoadedStreamMemoryThreshold、DecompressAllObjectStreams