function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream è la controparte streaming di
SaveAsPdfX — stessi byte in output, scritti in qualsiasi
TStream seekable fornito dal chiamante. Utile per l'integrazione nei flussi di
prestampa in cui i payload PDF/X vengono inviati direttamente ai portali di
invio stampa, ai sistemi MIS / job-ticketing, a colonne BLOB, a contenitori ZIP
o a pipeline di upload HTTP
Il post-processing è identico a quello di SaveAsPdfX: iniezione XMP
con l'identificatore pdfxid e la descrizione dello schema di estensione,
riscrittura del Document Information Dictionary con GTS_PDFXVersion /
GTS_PDFXConformance / Trapped, aggiornamento del catalogo con i riferimenti /Metadata e
/OutputIntents, dizionario OutputIntent con /S
/GTS_PDFX e profilo ICC incorporato, e un array /ID nel trailer
I campi Options lasciati vuoti si auto-popolano da
FPDF_GetMetaText / FPDF_GetFileIdentifier
Restituisce True dopo la serializzazione, lasciando lo stream di output posizionato dopo l'ultimo byte scritto
Restituisce False per un documento inattivo o un salvataggio base fallito; un ritorno con successo non è un verdetto di conformità PDF/X completo
Per pxc1a, fornisci in Options.IccProfileData un profilo di output ICC v2 prtr strutturalmente valido con dati CMYK, un PCS Lab o XYZ e le LUT bidirezionali richieste
Dati mancanti o inadatti sollevano EArgumentException prima che lo stream di destinazione venga modificato
PDF/X-1a sostituisce le etichette di output-condition ancora uguali al predefinito sRGB integrato con la descrizione ICC verificata
Se quella descrizione è assente, è richiesto un OutputConditionIdentifier esplicito non vuoto e non predefinito, che fornisce l'etichetta di sostituzione
Le etichette esplicite vengono preservate; per i campi coinvolti vedi SaveAsPdfX
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;