THPDFLinearizedPageRangePlan Kaydı
Linearize bir dosyanın tek sayfasını progresif okumak için byte-range planı: status ve diagnostic, ayrıştırılmış header ofsetleri, page object bilgileri, hint stream yerleşimi, shared-group bilgileri, aktarım toplamları ve sıralı byte range'ler
Bildirim
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;
Birim
HPDFDoc
Alanlar
| Alan | Amaç |
|---|---|
Status | THPDFLinearizedPagePlanStatus sonucu: hazır, linearize değil, desteklenmeyen cross-reference, aşılan limitler veya range'lerin mevcut olmaması |
FileLength | Planlanan kaynağın toplam boyutu |
PageIndex | İstenen sıfır tabanlı sayfa; yalnızca header'lık bootstrap planları için -1 |
FirstPageIndex / PageCount | Linearization header'ından ayrıştırılan ilk sayfa indeksi ve sayfa sayısı |
FirstPageEndOffset / MainXRefOffset | Header'ın /E ve /T değerleri: ilk sayfa bölümünün sonu ve ana cross-reference'ın ofseti |
PageObjectNumber / PageObjectCount | İstenen sayfanın nesne numarası ve nesne listesindeki nesne sayısı |
PageOffset / PageLength | Dosyada sayfanın bölümünün bayt aralığı |
PrimaryHintOffset / PrimaryHintLength | Birincil hint stream'in yerleşimi |
OverflowHintOffset / OverflowHintLength | Overflow hint stream'inin yerleşimi; yoksa sıfır ve boş |
SharedGroupCount / CrossReferenceEntryCount | Sayfa için planlanan shared-object grupları ve planın kapsadığı cross-reference girdileri |
HintBytesDecoded | Plan oluşturulurken gerçekten çözümlenen hint payload baytları |
RequiredBytes | Sayfayı render etmek için aktarılması gereken toplam bayt |
TransferRatio | RequiredBytes'in FileLength'e bölümü; planlama başarısız olduğunda sıfır |
RangeCount / DependencyRangeCount | Ranges ve DependencyRanges içindeki girdi sayısı |
AllRangesAvailable | Planlanan her aralık rastgele erişimli kaynakta mevcut olduğunda true |
UsesCrossReferenceStream | Plan, klasik bir tablo yerine bir cross-reference stream'ine karşı oluşturulduğunda true |
HintEncoding | Hint stream'lerinde tespit edilen THPDFLinearizedHintEncoding düzeni |
Ranges | İstenen sayfa için getirilecek sıralı byte range'ler; seçeneklere göre bootstrap ve cross-reference range'leri dahil |
DependencyRanges | Sayfanın bağlı olduğu shared object'ler için byte range'ler |
Diagnostic | Status başarısızlık bildirdiğinde fail-closed sebep metni |
Kullanım notları
THotPDF.PlanProgressiveLinearizedPageRanges'den sayfa başına bir tane isteyin; diğer her alana güvenmeden önceStatus'u kontrol edin- En hızlı ilk çizim için önce
Ranges'i, ardından ihtiyaç duyuldukçaDependencyRanges'i getirin; redraw scheduler planı tam olarak bu sırayla tüketir - Progresif teslimata bağlanmadan önce bant genişliği ihtiyacını kestirmek için
TransferRatioveRequiredBytes'i kullanın