PDFium Delphi Component Docs

SaveAsPdfUaToStream الطريقة

Component: TPdf  ·  Unit: PDFium
النسخة العاملة في الذاكرة من SaveAsPdfUa — تكتب مخرجات PDF/UA-1 في أي TStream من دون المرور عبر القرص

Syntax

function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;

Description

SaveAsPdfUaToStream هو النظير التدفقي لـ SaveAsPdfUa — فهو ينتج إخراج PDF/UA-1 نفسه، لكنه يكتب النتيجة في أي TStream قابل للبحث يزوّده المستدعي. وهو مفيد لخطوط أنابيب رفع HTTP، وأعمدة BLOB، وطبقات ذاكرة مؤقتة في الذاكرة، وحاويات الأرشيف (ZIP / TAR)، أو أي سير عمل لا تحتاج فيه وحدات بايت PDF/UA إلى لمس القرص أبدًا

منطق المعالجة اللاحقة مطابق لـ SaveAsPdfUa(FileName, Options): يُنفَّذ SaveAs الأساسي أولًا، ثم يحقن تحديث تزايدي تدفق البيانات الوصفية XMP (مع dc:title الإلزامي وفق ISO 14289-1 §7.1 ووصف مخطط امتداد pdfuaid)، و catalog /MarkInfo و /ViewerPreferences عندما يخلو منهما المصدر، و catalog /Lang عندما يزوّد المستدعي وسم BCP 47، ومصفوفة /ID للتذييل. وتُملأ حقول Options المتروكة فارغة تلقائيًا من قارئات PDFium (FPDF_GetMetaText و FPDF_GetFileIdentifier و FPDFCatalog_GetLanguage) بحيث يضبط المستدعي النموذجي DocumentTitle أو Language فقط عند الحاجة

يُرجع True عند النجاح. ويُترك تدفق الإخراج عند الموضع بعد آخر وحدة بايت مكتوبة. ويُرجع False إذا فشل SaveAs الأساسي أو إذا تعذّر إرفاق المعالجة اللاحقة (عادةً مصدر معمى)

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfUaSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfUaSaveOptions.Default;
    Opts.DocumentTitle := 'Quarterly Report';
    Opts.Language := 'en';
    if Pdf1.SaveAsPdfUaToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs