|
Emite un stream de referencias cruzadas PDF 1.5 /Type /XRef (ISO 32000-1 7.5.8) en lugar de la secuencia textual xref ... trailer
Sintaxis Delphi:
property UseXRefStream: Boolean;
Sintaxis C++:
__property bool UseXRefStream;
Descripción
Cuando UseXRefStream es true, EndDoc escribe un único objeto stream indirecto /Type /XRef en lugar de la secuencia textual heredada tabla xref + trailer + startxref. Las entradas usan /W [1 4 2]: un campo de tipo de un byte, un offset de cuatro bytes (o número de host de objeto comprimido) y una generación de dos bytes (o índice de objeto comprimido). Toda la tabla se comprime con FlateDecode, lo que normalmente reduce el overhead xref de 4 a 10 veces en documentos grandes
Los XRef streams son un requisito estricto para la función UseObjectStreams: solo el stream xref binario puede codificar las entradas type-2 de objetos comprimidos que apuntan a contenedores /Type /ObjStm. Desactivar UseXRefStream desactiva automáticamente UseObjectStreams al guardar
Valor predeterminado: false (opt-in; conserva la tabla xref textual para herramientas que tienen hard-coded la palabra clave xref y para máxima compatibilidad con lectores PDF 1.4 o anteriores)
Establecer UseXRefStream en true en un documento cuya Version es inferior a PDF 1.5 se ignora silenciosamente al guardar; en su lugar se emite el xref textual
Ejemplo de código
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;
Véase también
UseObjectStreams, Compression, Version, Soporte de filtros PDF
|