PDFium Delphi Component Docs

SaveAsPdfUaToStream متد

کامپوننت: TPdf  ·  واحد: 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)، /MarkInfo و /ViewerPreferences کاتالوگ وقتی منبع هیچ‌کدام را ندارد، /Lang کاتالوگ وقتی فراخواننده برچسب BCP 47 داده باشد، و یک آرایهٔ /ID در trailer را تزریق می‌کند. فیلدهای Options خالی‌مانده به‌طور خودکار از خواننده‌های PDFium (FPDF_GetMetaText، FPDF_GetFileIdentifier، FPDFCatalog_GetLanguage) پر می‌شوند، پس فراخوانندهٔ معمولی در صورت نیاز تنها DocumentTitle یا Language را تنظیم می‌کند

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

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