可扩展和随机访问的 PDF 加载

HotPDF 通过将流复制和压缩对象解析推迟到需要数据时才执行,保持大型已加载文件的响应能力

文件支持的流窗口

使用 LoadFromFile 打开的未加密文档将不可变的流主体保留为源文件范围

读取会定位到所需范围并立即释放源句柄,因此原始文件在 Windows 上仍可被替换

首次写入在该流等于或低于 LoadedStreamMemoryThreshold 时将其物化到内存中,或在更大时物化到一个自有的临时文件中

惰性对象流

每个已解码的 /Type /ObjStm 容器按权威的 xref 对象编号建立索引,而无需在打开期间解析每一个成员

Catalog、页面树以及随后的链接解析会一次性物化单个成员,并重用其已解析的对象

完整重写会自动物化每一个剩余成员,而未更改的文件支持保存可以直接保留原始字节

自定义随机访问

从 THPDFRandomAccessSource 派生并实现 GetSize 和 ReadAt,以从 HTTP 范围、数据库、归档或虚拟存储加载

LoadFromRandomAccessSource 将源适配到 HotPDF 的可定位解析器,并可以选择在文档生命周期内拥有该源

诊断

另请参阅: LoadFromRandomAccessSource、LoadedStreamMemoryThreshold、DecompressAllObjectStreams