function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream är strömmotsvarigheten till
SaveAsPdfX — samma utmatningsbyte, skrivna till en
valfri sökbar TStream som anroparen tillhandahåller. Användbar för
integrering i prepress-arbetsflöden där PDF/X-nyttolaster pushas
direkt till portaler för tryckförsändelse, MIS- / jobbiljettsystem,
BLOB-kolumner, ZIP-container eller HTTP-uppladdningspipelines
Efterbearbetningen är identisk med SaveAsPdfX: XMP-injektion med
identifieraren pdfxid och tilläggsschemabeskrivningen, omskrivning
av Document Information Dictionary med GTS_PDFXVersion /
GTS_PDFXConformance / Trapped, kataloguppdatering med referenserna
/Metadata och /OutputIntents, OutputIntent-dictionary med /S
/GTS_PDFX och inbäddad ICC-profil samt en /ID-array i
trailern. Tomma fält i Options fylls i automatiskt från
FPDF_GetMetaText / FPDF_GetFileIdentifier
Returnerar True efter serialiseringen och lämnar
utmatningsströmmen efter den senast skrivna byten
Returnerar False för ett inaktivt dokument eller en
misslyckad bas-sparning; ett lyckat returvärde är ingen fullständig
bedömning av PDF/X-överensstämmelse
För pxc1a tillhandahåller du i Options.IccProfileData
en strukturellt giltig ICC v2-utdataprofil med enhetsklass prtr,
CMYK-data, en Lab- eller XYZ-PCS och de
nödvändiga dubbelriktade LUT:erna
Saknad eller olämplig data utlöser EArgumentException innan
målströmmen ändras
För PDF/X-1a ersätts output-condition-etiketter som fortfarande
motsvarar det inbyggda sRGB-standardvärdet med den kontrollerade
ICC-beskrivningen
Saknas den beskrivningen krävs en explicit icke-tom, icke-standard
OutputConditionIdentifier, som levererar
ersättningsetiketten
Explicita etiketter bevaras; se SaveAsPdfX
för de berörda fälten
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;