Propriété THotPDF.UseXRefStream

 

THotPDF.UseXRefStream

THotPDF

 

Haut  Précédent  Suivant

Émet un flux de références croisées PDF 1.5 /Type /XRef (ISO 32000-1 7.5.8) à la place de la séquence textuelle xref ... trailer

 

Syntaxe Delphi :

property UseXRefStream: Boolean;

 

Syntaxe C++ :

__property bool UseXRefStream;

 

Description

Lorsque UseXRefStream est activé, EndDoc écrit un seul objet flux indirect /Type /XRef au lieu de l’ancienne séquence textuelle xref + trailer + startxref. Les entrées utilisent /W [1 4 2] : un champ de type d’un octet, un décalage de quatre octets, ou le numéro d’hôte d’un objet compressé, et une génération de deux octets, ou l’index d’un objet compressé. L’ensemble de la table est compressé FlateDecode, ce qui réduit typiquement la surcharge xref d’un facteur 4 à 10 sur les gros documents

 

Les flux XRef sont une condition préalable stricte à la fonctionnalité UseObjectStreams : seul le flux xref binaire peut encoder les entrées d’objets compressés de type 2 qui pointent vers des conteneurs /Type /ObjStm. La désactivation de UseXRefStream désactive automatiquement UseObjectStreams au moment de l’enregistrement

 

Valeur par défaut : false, en activation explicite, ce qui conserve la table xref textuelle pour les outils qui codent en dur le mot-clé xref et pour une compatibilité maximale avec PDF 1.4 et les lecteurs antérieurs

Le réglage de UseXRefStream à true sur un document dont la Version est inférieure à PDF 1.5 est ignoré silencieusement à l’enregistrement ; la xref textuelle est émise à la place

 

Exemple de code

HPDF := THotPDF.Create( nil );
try
  HPDF.FileName := 'c:\Output.pdf';
  HPDF.Version := pdf15;          // Required for XRef streams
  HPDF.UseXRefStream := true;     // Emit /Type /XRef instead of xref table
  HPDF.UseObjectStreams := true;  // Optional: also pack objects into /Type /ObjStm
  HPDF.Compression := cmFlateDecode;
  HPDF.BeginDoc;
  HPDF.CurrentPage.TextOut( 100, 100, 0, 'Compact PDF 1.5 output' );
  HPDF.EndDoc;
finally
  HPDF.Free;
end;

 

Voir aussi

UseObjectStreams, Compression, Version, Prise en charge des filtres PDF