Enregistrement THPDFLinearizedPageRangePlan
Le plan de plages d'octets pour lire progressivement une page d'un fichier linéarisé : statut et diagnostic, décalages d'en-tête analysés, faits de l'objet page, placement des flux de hints, faits des groupes partagés, totaux de transfert et plages d'octets ordonnées
Déclaration
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;
Unité
HPDFDoc
Champs
| Champ | Objectif |
|---|---|
Status | Issue THPDFLinearizedPagePlanStatus : prêt, non linéarisé, références croisées non prises en charge, limites dépassées ou plages indisponibles |
FileLength | Taille totale de la source planifiée |
PageIndex | Page demandée à base zéro, ou -1 pour les plans bootstrap d'en-tête seul |
FirstPageIndex / PageCount | Index de première page et nombre de pages analysés depuis l'en-tête de linéarisation |
FirstPageEndOffset / MainXRefOffset | Valeurs /E et /T de l'en-tête : fin de la section de première page et décalage de la table de références croisées principale |
PageObjectNumber / PageObjectCount | Numéro d'objet de la page demandée et nombre d'objets de sa liste d'objets |
PageOffset / PageLength | Plage d'octets de la section de la page dans le fichier |
PrimaryHintOffset / PrimaryHintLength | Placement du flux de hints primaire |
OverflowHintOffset / OverflowHintLength | Placement du flux de hints de débordement, zéro et vide quand il n'y en a pas |
SharedGroupCount / CrossReferenceEntryCount | Groupes d'objets partagés planifiés pour la page et entrées de références croisées couvertes par le plan |
HintBytesDecoded | Octets de charge utile de hints réellement décodés pendant la construction du plan |
RequiredBytes | Total d'octets devant être transférés pour rendre la page |
TransferRatio | RequiredBytes divisé par FileLength ; zéro quand la planification a échoué |
RangeCount / DependencyRangeCount | Nombre d'entrées dans Ranges et dans DependencyRanges |
AllRangesAvailable | true quand chaque plage planifiée est présente dans la source à accès aléatoire |
UsesCrossReferenceStream | true quand le plan a été construit contre un flux de références croisées plutôt qu'une table classique |
HintEncoding | Disposition THPDFLinearizedHintEncoding détectée dans les flux de hints |
Ranges | Plages d'octets ordonnées à récupérer pour la page demandée, plages bootstrap et de références croisées comprises selon les options |
DependencyRanges | Plages d'octets des objets partagés dont la page dépend |
Diagnostic | Texte de raison fail-closed quand Status rapporte un échec |
Notes d'utilisation
- En demandez un par page à
THotPDF.PlanProgressiveLinearizedPageRanges; vérifiezStatusavant de faire confiance à tout autre champ - Récupérez d'abord
Rangespour la première peinture la plus rapide, puisDependencyRangesau fil des besoins en objets partagés ; le planificateur de redessin consomme le plan exactement dans cet ordre - Utilisez
TransferRatioetRequiredBytespour estimer les besoins de bande passante avant de vous engager dans une diffusion progressive