Zero-Copy Object-Stream Slices
When link resolution first materializes a compressed /Type /ObjStm member, the parser now reads a zero-copy slice view over the shared decompressed container buffer instead of a duplicated substring plus a second stream copy, so large documents with many members stop paying a double copy per object
THPDFObjectStreamSliceStream
A public read-only TStream view over (source, offset, length): it holds the source AnsiString by reference so the container bytes stay alive without duplicating them, serves exactly the member bytes, appends one virtual trailing LF so parsers observe the layout the legacy copy produced, and clamps instead of raising on seeks before the slice start, matching TMemoryStream leniency
THPDFObjectStreamCacheInfo
Two new diagnostics report the zero-copy path: SliceViewCount counts the member views handed to the parser and SliceViewBytes sums the member bytes they covered, next to the existing container, indexing, hit, miss, and cached-byte counters returned by GetLoadedObjectStreamCacheInfo