Enregistrement THPDFLinearizationValidationInfo
Verdicts par partie pour une source linéarisée : dictionnaire de linéarisation, section de première page, hints de décalage de page et hints d'objets partagés, plus les valeurs d'en-tête analysées et une chaîne de diagnostic
Déclaration
THPDFLinearizationValidationInfo= record
DictionaryValid: boolean;
FirstPageSectionValid: boolean;
PageOffsetHintsValid: boolean;
SharedObjectHintsValid: boolean;
FirstPageObjectNumber: Integer;
PageCount: Integer;
HintOffset: Int64;
HintLength: Int64;
FirstPageEndOffset: Int64;
MainXRefOffset: Int64;
Valid: boolean;
Diagnostic: AnsiString;
end;
Unité
HPDFDoc
Champs
| Champ | Objectif |
|---|---|
DictionaryValid | true quand les entrées /L, /O, /E, /N, /T et /H du dictionnaire s'analysent et que leurs plages restent cohérentes avec la taille du fichier |
FirstPageSectionValid | true quand la section d'objets de première page se vérifie, décalage de fin déclaré compris |
PageOffsetHintsValid | true quand le flux de hints de décalage de page se décode et que ses valeurs correspondent au document |
SharedObjectHintsValid | true quand le flux de hints d'objets partagés se décode et que ses valeurs correspondent au document |
FirstPageObjectNumber | Numéro d'objet analysé depuis l'entrée /O du dictionnaire |
PageCount | Nombre de pages analysé depuis l'entrée /N du dictionnaire |
HintOffset / HintLength | Plage d'octets du flux de hints primaire, depuis l'entrée /H du dictionnaire |
FirstPageEndOffset | Décalage de fin de la section de première page, depuis l'entrée /E du dictionnaire |
MainXRefOffset | Décalage de la table de références croisées principale, depuis l'entrée /T du dictionnaire |
Valid | Verdict global, true seulement quand chaque contrôle propre à une partie a passé ; reflète le résultat de la fonction |
Diagnostic | Texte de raison fail-closed nommant le premier contrôle en échec |
Notes d'utilisation
- Rempli par
THotPDF.ValidateLinearizedSourcepour toutTHPDFRandomAccessSource; la validation s'arrête à la première partie en échec et note la raison dansDiagnostic - Utilisez les drapeaux par partie pour distinguer un flux de hints cassé d'un dictionnaire cassé avant de décider si le chargement progressif est sûr
- Les valeurs d'en-tête analysées sont renseignées dès que les contrôles du dictionnaire passent, même si des contrôles de hints ultérieurs échouent