THPDFLinearizedPageRangePlan Record
Plan zakresów bajtów do postępującego czytania jednej strony pliku zliniaryzowanego: status i diagnostyka, sparsowane offsety nagłówka, fakty o obiektach strony, rozmieszczenie strumieni podpowiedzi, fakty o grupach współdzielonych, sumy transferu i uporządkowane zakresy bajtów
Deklaracja
THPDFLinearizedPageRangePlan= record
Status: THPDFLinearizedPagePlanStatus;
FileLength: Int64;
PageIndex: Integer;
FirstPageIndex: Integer;
PageCount: Integer;
FirstPageEndOffset: Int64;
MainXRefOffset: Int64;
PageObjectNumber: Integer;
PageObjectCount: Integer;
PageOffset: Int64;
PageLength: Int64;
PrimaryHintOffset: Int64;
PrimaryHintLength: Int64;
OverflowHintOffset: Int64;
OverflowHintLength: Int64;
SharedGroupCount: Integer;
CrossReferenceEntryCount: Integer;
HintBytesDecoded: Int64;
RequiredBytes: Int64;
TransferRatio: Double;
RangeCount: Integer;
DependencyRangeCount: Integer;
AllRangesAvailable: boolean;
UsesCrossReferenceStream: boolean;
HintEncoding: THPDFLinearizedHintEncoding;
Ranges: THPDFLinearizedByteRangeArray;
DependencyRanges: THPDFLinearizedByteRangeArray;
Diagnostic: AnsiString;
end;
Jednostka
HPDFDoc
Pola
| Pole | Przeznaczenie |
|---|---|
Status | Wynik THPDFLinearizedPagePlanStatus: gotowy, nie zliniaryzowany, nieobsługiwane odniesienia krzyżowe, przekroczone limity albo zakresy niedostępne |
FileLength | Całkowity rozmiar zaplanowanego źródła |
PageIndex | Żądana strona liczona od zera albo -1 dla planów bootstrapowych tylko z nagłówkiem |
FirstPageIndex / PageCount | Indeks pierwszej strony i liczba stron sparsowane z nagłówka linearizacji |
FirstPageEndOffset / MainXRefOffset | Wartości /E i /T nagłówka: koniec sekcji pierwszej strony i offset głównych odniesień krzyżowych |
PageObjectNumber / PageObjectCount | Numer obiektu żądanej strony i liczba obiektów w jej liście obiektów |
PageOffset / PageLength | Zakres bajtów sekcji strony w pliku |
PrimaryHintOffset / PrimaryHintLength | Rozmieszczenie głównego strumienia podpowiedzi |
OverflowHintOffset / OverflowHintLength | Rozmieszczenie nadmiarowego strumienia podpowiedzi, zero i puste, gdy go nie ma |
SharedGroupCount / CrossReferenceEntryCount | Grupy obiektów współdzielonych zaplanowane dla strony i wpisy odniesień krzyżowych objęte planem |
HintBytesDecoded | Bajty ładunku podpowiedzi faktycznie zdekodowane podczas budowania planu |
RequiredBytes | Łączna liczba bajtów, które trzeba przetransferować, aby wyrenderować stronę |
TransferRatio | RequiredBytes podzielone przez FileLength; zero, gdy planowanie zawiodło |
RangeCount / DependencyRangeCount | Liczba wpisów w Ranges i w DependencyRanges |
AllRangesAvailable | true, gdy każdy zaplanowany zakres jest obecny w źródle o dostępie losowym |
UsesCrossReferenceStream | true, gdy plan został zbudowany względem strumienia odniesień krzyżowych, a nie klasycznej tabeli |
HintEncoding | Układ THPDFLinearizedHintEncoding wykryty w strumieniach podpowiedzi |
Ranges | Uporządkowane zakresy bajtów do pobrania dla żądanej strony, łącznie z zakresami bootstrapowymi i odniesień krzyżowych zgodnie z opcjami |
DependencyRanges | Zakresy bajtów dla obiektów współdzielonych, od których strona zależy |
Diagnostic | Tekst przyczyny fail-closed, gdy Status raportuje porażkę |
Uwagi dotyczące użycia
- Proś o jeden per strona przez
THotPDF.PlanProgressiveLinearizedPageRanges; sprawdzajStatus, zanim uwierzysz innym polom - Pobieraj najpierw
Rangesdla najszybszego pierwszego malowania, potemDependencyRanges, gdy potrzebne są obiekty współdzielone; harmonogram przemalowania konsumuje plan dokładnie w tej kolejności - Używaj
TransferRatioiRequiredBytes, aby szacować potrzeby pasma przed decyzją o dostarczaniu postępującym