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

See also: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams