function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream هو النظير التدفقي لـ
SaveAsPdfX — وحدات بايت الإخراج نفسها، مكتوبة في أي
TStream قابل للبحث يزوّده المستدعي. وهو مفيد لدمج سير عمل
ما قبل الطباعة حيث تُدفع مخرجات PDF/X مباشرة إلى بوابات
تسليم الطباعة، وأنظمة MIS / تذاكر المهام، وأعمدة BLOB، وحاويات
ZIP، أو خطوط أنابيب رفع HTTP
المعالجة اللاحقة مطابقة لـ SaveAsPdfX: حقن XMP
بمعرف pdfxid ووصف مخطط الامتداد، وإعادة كتابة قاموس معلومات المستند بـ GTS_PDFXVersion /
GTS_PDFXConformance / Trapped، وتحديث الكتالوج بمرجعي /Metadata و
/OutputIntents، وقاموس OutputIntent مع /S
/GTS_PDFX وملف تعريف ICC مضمّن، ومصفوفة /ID للتذييل.
وتتعبأ حقول Options المتروكة فارغة تلقائيًا من
FPDF_GetMetaText / FPDF_GetFileIdentifier
يعيد True بعد إتمام التسلسل، تاركًا تدفق الإخراج
بعد آخر وحدة بايت مكتوبة
ويعيد False لمستند غير نشط أو حفظ أساسي فاشل؛ والعودة الناجحة ليست حكمًا كاملًا بمطابقة PDF/X
من أجل pxc1a، زوّد Options.IccProfileData بملف تعريف إخراج ICC v2 سليم بنيويًا بفئة prtr وبيانات CMYK و PCS من نوع Lab أو XYZ وجداول LUT ثنائية الاتجاه مطلوبة
وبيانات ناقصة أو غير ملائمة ترفع EArgumentException قبل تعديل تدفق الوجهة
يستبدل PDF/X-1a تسميات output-condition التي ما تزال تساوي افتراضي sRGB المدمج بوصف ICC المفحوص
وإذا غاب ذلك الوصف، يلزم OutputConditionIdentifier صريح غير فارغ وغير افتراضي وهو يزوّد التسمية البديلة
وتُحفظ التسميات الصريحة؛ وانظر 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;