function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream هو النظير التدفقي لـ
SaveAsPdfE — فهو ينتج إخراج PDF/E-1 نفسه،
لكنه يكتب النتيجة في أي TStream قابل للبحث يزوّده المستدعي.
وهو مفيد لدمج سير العمل الهندسي حيث تُدفع مخرجات PDF/E مباشرة إلى
أنظمة PLM / PDM، وأعمدة BLOB، وحاويات الأرشفة، أو خطوط أنابيب
رفع HTTP دون لمس القرص
منطق المعالجة اللاحقة مطابق لـ
SaveAsPdfE(FileName, Options): يُنفَّذ SaveAs الأساسي
أولًا، ثم يحقن تحديث تزايدي تدفق البيانات الوصفية XMP
(مع pdfe:ISO_PDFEVersion ووصف مخطط الامتداد)، ويعيد كتابة قاموس معلومات
المستند لإضافة مدخل /ISO_PDFEVersion (PDF/E-1) الإلزامي،
ويحدّث الكتالوج ليشير إلى XMP الجديد، ويُصدر تذييلًا بمصفوفة /ID جديدة.
وتُملأ حقول Options المتروكة فارغة تلقائيًا من قارئات PDFium
(FPDF_GetMetaText وFPDF_GetFileIdentifier)،
لذا لا يحتاج المستدعي النموذجي إلا إلى تجاوز حقل Version لقيم
Part / Amd / Corr غير الافتراضية
يُرجع True عند النجاح. ويُترك تدفق الإخراج عند
الموضع بعد آخر وحدة بايت مكتوبة. ويُرجع False
إذا فشل SaveAs الأساسي أو إذا تعذّر إرفاق المعالجة اللاحقة
/ISO_PDFEVersion. وتُستبدل قيم إصدار PDF/E الموجودة
var
Stream: TMemoryStream;
Opts: TPdfESaveOptions;
begin
Stream := TMemoryStream.Create;
try
Opts := TPdfESaveOptions.Default;
Opts.Producer := 'CAD-Workflow 2026';
if Pdf1.SaveAsPdfEToStream(Stream, Opts) then
begin
Stream.Position := 0;
PushToPLM(Stream);
end;
finally
Stream.Free;
end;
end;