PDFium Delphi Component Docs

SaveAsPdfXToStream Método

Componente: TPdf  ·  Unidad: PDFium
Escribe un candidato PDF/X en un flujo posicionable propiedad del llamador usando las mismas reglas de perfil que SaveAsPdfX

Syntax

function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;

Description

SaveAsPdfXToStream es la contrapartida de streaming de SaveAsPdfX — mismos bytes de salida, escritos en cualquier TStream posicionable que proporcione el llamador. Útil para la integración de flujos de trabajo de preimpresión donde las cargas PDF/X se envían directamente a portales de envío de impresión, sistemas MIS / de tickets de trabajo, columnas BLOB, contenedores ZIP o canalizaciones de subida HTTP

El posprocesado es idéntico a SaveAsPdfX: inyección XMP con el identificador pdfxid y la descripción del esquema de extensión, reescritura del Document Information Dictionary con GTS_PDFXVersion / GTS_PDFXConformance / Trapped, actualización del catalog con referencias /Metadata y /OutputIntents, diccionario OutputIntent con /S /GTS_PDFX y perfil ICC incrustado, y un array /ID de tráiler. Los campos de Options dejados vacíos se autorrellenan desde FPDF_GetMetaText / FPDF_GetFileIdentifier

Devuelve True tras la serialización, dejando el flujo de salida en la posición posterior al último byte escrito. Devuelve False para un documento inactivo o un guardado base fallido; un resultado con éxito no es un veredicto de conformidad PDF/X completo

Para pxc1a, suministre en Options.IccProfileData un perfil de salida ICC v2 prtr estructuralmente válido con datos CMYK, un PCS Lab o XYZ y las LUT bidireccionales requeridas. Los datos ausentes o no adecuados lanzan EArgumentException antes de que se modifique el flujo de destino

PDF/X-1a sustituye las etiquetas de condición de salida que sigan siendo el valor predeterminado sRGB integrado por la descripción ICC comprobada. Si esa descripción no existe, se requiere un OutputConditionIdentifier explícito, no vacío y no predeterminado, que aporta la etiqueta de sustitución. Las etiquetas explícitas se conservan; consulte SaveAsPdfX para los campos afectados

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfXSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfXSaveOptions.Default;
    Opts.Conformance := pxc4;
    Opts.Title := 'Spring Catalogue 2026';
    if Pdf1.SaveAsPdfXToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      SubmitToPrinter(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfX, ValidatePdfX, PdfXConformance, SaveAs