Scalable and Random-Access PDF Loading
HotPDF utrzymuje dużą responsywność wczytywanych plików, opóźniając kopie strumieni i analizę skompresowanych obiektów, dopóki dane nie będą wymagane
File-backed stream windows
Niezaszyfrowane dokumenty otwarte z LoadFromFile zachowują niezmienne treści strumieni jako zakresy pliku źródłowego
Odczyty przemieszczają się do wymaganego zakresu i natychmiast zwalniają uchwyt źródła, więc oryginalny plik pozostaje wymienialny w systemie Windows
Pierwszy zapis materializuje strumień w pamięci, gdy jego rozmiar mieści się w LoadedStreamMemoryThreshold lub jest równy, albo we własnym pliku tymczasowym, gdy jest większy
Lazy object streams
Każdy zdekodowany kontener /Type /ObjStm jest indeksowany według autorytatywnego numeru obiektu xref bez analizy każdego członka podczas otwierania
Katalog, drzewo stron i późniejsze rozwiązywanie odnośników materializują poszczególne członki raz i ponownie używają ich przeanalizowanych obiektów
Pełne przepisanie automatycznie materializuje każdy pozostały członek, podczas gdy niezmieniony zapis plikowy może zachować oryginalne bajty bezpośrednio
Custom random access
Wyprowadź z THPDFRandomAccessSource i zaimplementuj GetSize oraz ReadAt, aby wczytywać z zakresów HTTP, baz danych, archiwów lub pamięci wirtualnej
LoadFromRandomAccessSource dostosowuje źródło do przesuwalnego parsera HotPDF i opcjonalnie może przejąć własność źródła na cały czas życia dokumentu
Diagnostyka
GetLoadedStreamCacheInfozgłasza liczby strumieni wspieranych źródłem, zmaterializowanych w pamięci i na dyskuGetLoadedObjectStreamCacheInfozgłasza zindeksowane i zmaterializowane członki, trafienia i chybienia pamięci podręcznej oraz zatrzymane zdekodowane bajty
See also: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams