function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream ist das Streaming-Gegenstück zu
SaveAsPdfX — dieselben Ausgabe-Bytes, geschrieben in einen
beliebigen, positionierbaren TStream, den der Aufrufer bereitstellt. Nützlich für die Einbindung in
Prepress-Workflows, bei denen PDF/X-Payloads direkt in Druck-
Einreichungsportale, MIS-/Job-Ticketing-Systeme, BLOB-Spalten, ZIP-
Container oder HTTP-Upload-Pipelines geschoben werden
Die Nachbearbeitung ist identisch mit SaveAsPdfX: XMP-Injektion
mit dem pdfxid-Bezeichner und der Erweiterungs-Schema-Beschreibung,
Neuschreibung des Document Information Dictionary mit GTS_PDFXVersion /
GTS_PDFXConformance / Trapped, Katalog-Update mit /Metadata- und
/OutputIntents-Referenzen, OutputIntent-Wörterbuch mit /S
/GTS_PDFX und eingebettetem ICC-Profil sowie ein Trailer-/ID-Array
Leergelassene Optionsfelder werden automatisch aus
FPDF_GetMetaText / FPDF_GetFileIdentifier gefüllt
Liefert True nach der Serialisierung zurück und lässt den Ausgabe-Stream hinter dem letzten geschriebenen Byte stehen
Liefert False bei einem inaktiven Dokument oder fehlgeschlagenem Basis-Speichern; ein erfolgreicher Rückgabewert ist noch kein vollständiges PDF/X-Konformitätsurteil
Für pxc1a geben Sie in Options.IccProfileData ein strukturell gültiges ICC-v2-Output-Profil mit Device-Klasse prtr, CMYK-Daten, einem Lab- oder XYZ-PCS und den erforderlichen bidirektionalen LUTs an
Fehlende oder ungeeignete Daten lösen EArgumentException aus, bevor der Ziel-Stream verändert wird
Bei PDF/X-1a werden Output-Condition-Labels, die noch dem eingebauten sRGB-Standard entsprechen, durch die geprüfte ICC-Beschreibung ersetzt
Fehlt diese Beschreibung, ist ein expliziter, nicht leerer und nicht standardmäßiger OutputConditionIdentifier nötig, der das Ersatz-Label liefert
Explizite Labels bleiben erhalten; siehe SaveAsPdfX für die betroffenen Felder
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;