PDFium Delphi Component Docs

SaveAsPdfEToStream متد

کامپوننت: TPdf  ·  واحد: PDFium
گونهٔ درون‌حافظه‌ای SaveAsPdfE — خروجی PDF/E-1 را بدون عبور از دیسک به هر TStream می‌نویسد

Syntax

function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;

Description

SaveAsPdfEToStream همتای جریانیِ SaveAsPdfE است — همان خروجی PDF/E-1 را تولید می‌کند اما نتیجه را به هر TStream قابل‌جست‌وجویی که فراخواننده فراهم می‌کند می‌نویسد. برای یکپارچه‌سازی گردش‌کار مهندسی که محموله‌های PDF/E مستقیم و بدون دست‌زدن به دیسک به سامانه‌های PLM / PDM، ستون‌های BLOB، ظرف‌های آرشیو یا خطوط لولهٔ بارگذاری HTTP فشار داده می‌شوند، کاربرد دارد

منطق پس‌پردازش با SaveAsPdfE(FileName, Options) یکسان است: ابتدا SaveAs پایه اجرا می‌شود، سپس یک به‌روزرسانی افزاینده جریان فرادادهٔ XMP (با pdfe:ISO_PDFEVersion و توصیف طرح‌وارهٔ افزونه) را تزریق می‌کند، دیکشنری Information سند را برای افزودن مدخل الزامی /ISO_PDFEVersion (PDF/E-1) بازنویسی می‌کند، کاتالوگ را برای ارجاع به XMP جدید به‌روزرسانی می‌کند و یک trailer با آرایهٔ /ID تازه گسیل می‌دهد. فیلدهای Options خالی‌مانده به‌طور خودکار از خواننده‌های PDFium (FPDF_GetMetaText، FPDF_GetFileIdentifier) پر می‌شوند، پس فراخوانندهٔ معمولی تنها برای مقادیر غیرپیش‌فرض Part / Amd / Corr نیاز دارد فیلد Version را بازنویسی کند

در صورت موفقیت True برمی‌گرداند. جریان خروجی در جایگاه پس از آخرین بایت نوشته‌شده باقی می‌ماند. اگر SaveAs پایه شکست بخورد یا پس‌پردازش نتواند الحاق شود، False برمی‌گرداند

Remarks

Example

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;

See Also

SaveAsPdfE, ValidatePdfE, PdfEConformance, SaveAs