PDFium Delphi Component Docs

SaveAsObjectStream Método

Component: TPdf  ·  Unit: PDFium
Writes a compact PDF 1.5+ copy using bounded object streams and a complete xref stream

Syntax

function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

StreamTStream que recibe el PDF de flujo de objeto completo
FileNameRuta de salida reemplazada solo después de que un archivo temporal hermano tenga éxito
OptionOpción de guardado normal o saRemoveSecurity; saIncremental se rechaza
PdfVersionVersión de salida de PDF 1.5 en adelante, o pvUnknown para preservar o actualizar la versión actual
MaxObjectsPerStreamMiembros de objeto máximos por grupo ObjStm; el valor predeterminado es 100
MaxDecodedBytesPerStreamCarga de miembro decodificada máxima por grupo; el valor predeterminado es 65536 bytes

Return Value

Returns True when the object-stream output was completed successfully

Description

El método primero usa la ruta de guardado PDFium normal como fuente semántica, y luego resuelve la revisión clásica, híbrida o de flujo xref activa

Los miembros de flujo de objeto existentes se materializan antes de que las referencias se renumeren en orden local de página

Los objetos no flujo elegibles se agrupan por recuento de miembros y tamaño de carga decodificada, y luego se comprimen con Flate solo cuando la compresión reduce el grupo

El catálogo, los objetos de flujo, los diccionarios de firma, las longitudes de flujo indirectas y los valores sobredimensionados permanecen direccionables directamente

Un flujo xref puro usa anchos de campo adaptativos y entradas de tipo 2 para cada miembro comprimido

Constraints

Example

// Equilibrar salida compacta con descompresión de acceso aleatorio acotado
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);

See Also

SaveAs, SaveAsLinearized