Záznam THPDFLinearizedPageRangePlan
Plán bajtových rozsahů pro progresivní čtení jedné stránky linearizovaného souboru: stav a diagnostika, rozparsované offsety hlavičky, fakta o objektech stránky, umístění hint streamů, fakta o sdílených skupinách, přenosové součty a uspořádané bajtové rozsahy
Deklarace
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;
Jednotka
HPDFDoc
Pole
| Pole | Účel |
|---|---|
Status | Výsledek THPDFLinearizedPagePlanStatus: ready, nelinearizovaný dokument, nepodporovaná křížová reference, překročené limity nebo nedostupné rozsahy |
FileLength | Celková velikost plánovaného zdroje |
PageIndex | Požadovaná stránka počítaná od nuly, nebo -1 u bootstrap plánů jen s hlavičkou |
FirstPageIndex / PageCount | Index první stránky a počet stránek rozparsované z hlavičky linearizace |
FirstPageEndOffset / MainXRefOffset | Hodnoty /E a /T z hlavičky: konec sekce první stránky a offset hlavní křížové reference |
PageObjectNumber / PageObjectCount | Číslo objektu požadované stránky a počet objektů v jejím seznamu objektů |
PageOffset / PageLength | Bajtový rozsah sekce stránky v souboru |
PrimaryHintOffset / PrimaryHintLength | Umístění primárního hint streamu |
OverflowHintOffset / OverflowHintLength | Umístění overflow hint streamu; nula a prázdné, když žádný není |
SharedGroupCount / CrossReferenceEntryCount | Skupiny sdílených objektů plánované pro stránku a položky křížových referencí pokryté plánem |
HintBytesDecoded | Bajty hint dat skutečně dekódované při stavbě plánu |
RequiredBytes | Celkový počet bajtů, které se musí přenést, aby se stránka vykreslila |
TransferRatio | RequiredBytes dělené FileLength; nula, když plánování selhalo |
RangeCount / DependencyRangeCount | Počet položek v Ranges a v DependencyRanges |
AllRangesAvailable | true, když je každý plánovaný rozsah přítomný ve zdroji s náhodným přístupem |
UsesCrossReferenceStream | true, když se plán stavěl proti streamu křížových referencí, nikoli klasické tabulce |
HintEncoding | Rozvržení THPDFLinearizedHintEncoding detekované v hint streamech |
Ranges | Uspořádané bajtové rozsahy ke stažení pro požadovanou stránku, včetně bootstrap a křížových rozsahů podle voleb |
DependencyRanges | Bajtové rozsahy sdílených objektů, na kterých stránka závisí |
Diagnostic | Text důvodu ve stylu fail-closed, když Status hlásí selhání |
Poznámky k použití
- O jeden plán na stránku požádejte přes
THotPDF.PlanProgressiveLinearizedPageRanges; než začnete věřit jakémukoli jinému poli, zkontrolujteStatus - Nejprve stáhněte
Rangespro nejrychlejší první vykreslení, pakDependencyRanges, jakmile jsou potřeba sdílené objekty; plánovač překreslování konzumuje plán přesně v tomto pořadí - Přes
TransferRatioaRequiredBytesodhadnete potřebnou šířku pásma, než se zavážete k progresivnímu doručování