THPDFLinearizedPageRangePlan Record
Byteintervallsplanen för progressiv läsning av en sida i en lineariserad fil: status och diagnostik, parsade rubrikoffsets, fakta om sidobjekt, placering av hintströmmar, fakta om delade grupper, överföringssummor och de ordnade byteintervallen
Deklaration
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;
Enhet
HPDFDoc
Fält
| Fält | Syfte |
|---|---|
Status | THPDFLinearizedPagePlanStatus-utfall: klar, inte lineariserad, korsreferens utan stöd, gränser överskridna eller intervall otillgängliga |
FileLength | Total storlek på den planerade källan |
PageIndex | Begärt nollbaserat sidnummer, eller -1 för bootstrap-planer med endast rubrik |
FirstPageIndex / PageCount | Förstasidesindex och sidantal parsade från lineariseringsrubriken |
FirstPageEndOffset / MainXRefOffset | Rubrikens /E- och /T-värden: slutet på förstasidessektionen och offseten för huvudkorsreferensen |
PageObjectNumber / PageObjectCount | Objektnumret för den begärda sidan och antalet objekt i dess objektlista |
PageOffset / PageLength | Byteintervallet för sidans sektion i filen |
PrimaryHintOffset / PrimaryHintLength | Placeringen av den primära hintströmmen |
OverflowHintOffset / OverflowHintLength | Placeringen av overflow-hintströmmen, noll och tom när ingen finns |
SharedGroupCount / CrossReferenceEntryCount | Grupper av delade objekt planerade för sidan och de korsreferensposter som planen täcker |
HintBytesDecoded | Hintnyttolastbyte som faktiskt avkodades under uppbyggnaden av planen |
RequiredBytes | Totalt antal byte som måste överföras för att rendera sidan |
TransferRatio | RequiredBytes delat med FileLength; noll när planeringen misslyckades |
RangeCount / DependencyRangeCount | Antal poster i Ranges och i DependencyRanges |
AllRangesAvailable | true när vart och ett av de planerade intervallen finns i källan för slumpmässig åtkomst |
UsesCrossReferenceStream | true när planen byggdes mot en korsreferensström i stället för en klassisk tabell |
HintEncoding | THPDFLinearizedHintEncoding-upplägg upptäckt i hintströmmarna |
Ranges | Ordningställda byteintervall att hämta för den begärda sidan, inklusive bootstrap- och korsreferensintervall enligt alternativen |
DependencyRanges | Byteintervall för delade objekt som sidan är beroende av |
Diagnostic | Orsakstext som ger säkert misslyckande när Status rapporterar ett fel |
Användningsanteckningar
- Begär en per sida från
THotPDF.PlanProgressiveLinearizedPageRanges; kontrolleraStatusinnan du litar på något annat fält - Hämta
Rangesförst för snabbaste första visning, sedanDependencyRangesallt eftersom delade objekt behövs; omritningsschemaläggaren konsumerar planen i exakt denna ordning - Använd
TransferRatioochRequiredBytesför att uppskatta bandbreddsbehovet innan du satsar på progressiv leverans