THotPDF.OpenLoadedPageContentStream

Otwiera wartość /Contents wczytanej strony jako jeden należący do wywołującego logiczny stream tylko do odczytu

Deklaracja Delphi

function OpenLoadedPageContentStream(
  PageIndex: Integer;
  out ContentStream: TStream
): boolean;

Deklaracja C++Builder

bool __fastcall OpenLoadedPageContentStream(
  int PageIndex,
  System::Classes::TStream *&ContentStream
);

Wynik to true, gdy wczytana strona o indeksie od zera ma co najmniej jeden poprawny content stream

Zachowanie

Pojedynczy content stream i tablica /Contents korzystają z tego samego interfejsu, a między sąsiednimi segmentami wstawiany jest jeden bajt line-feed, żeby tokeny nie sklejały się przez granicę segmentu

Niefiltrowane segmenty pozostają oparte na źródle i są czytane bez pełnej materializacji, natomiast segmenty filtrowane są dekodowane leniwie do jednego adaptacyjnego streamu tymczasowego, a poprzedni zdekodowany segment jest zwalniany, gdy odczyt przenosi się gdzie indziej

Długości segmentów filtrowanych są ustalane w miarę potrzeby, więc czytanie znanego prefiksu nie dekoduje dalszych segmentów; żądanie Size albo seek od końca rozwiązuje wszystkie pozostałe długości

Stream obsługuje odczyty losowe i seek, ale odrzuca Write i SetSize

Własność

Wywołujący musi zwolnić ContentStream, a posiadająca instancja THotPDF wraz z wczytanym dokumentem musi istnieć dłużej niż zwrócony stream

Użyj GetLastPageContentSequenceInfo, aby podejrzeć pracę sekwencji i telemetrię zatrzymanej pamięci