PDFium Delphi Component Docs

SaveAsPdfAToStream متد

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

Syntax

function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean;

Description

SaveAsPdfAToStream همتای جریانیِ SaveAsPdfA است — همان خروجی PDF/A-1b را تولید می‌کند، اما نتیجه را به‌جای عبور از یک فایل موقت، به هر TStream قابل‌جست‌وجویی که فراخواننده فراهم می‌کند می‌نویسد. برای خطوط لولهٔ بارگذاری HTTP، ستون‌های BLOB، لایه‌های حافظهٔ نهان درون‌حافظه‌ای، ظرف‌های آرشیو (ZIP / TAR) یا هر گردش‌کاری که بایت‌های PDF/A هرگز نیازی به دست‌زدن به دیسک ندارند کاربرد دارد

منطق پس‌پردازش با SaveAsPdfA(FileName, Options) یکسان است: ابتدا SaveAs پایه اجرا می‌شود، سپس یک به‌روزرسانی افزاینده جریان فرادادهٔ XMP را (که دیکشنری Information سند را مطابق ISO 19005-1 6.7.3 / Cor.1 Table 1 به شکل XMP پل می‌زند و توصیف طرح‌وارهٔ افزونهٔ pdfaid مورد نیاز 6.7.8 را نهفته می‌کند)، OutputIntent ارجاع‌دهنده به یک نمایهٔ ICC نهفته (پیش‌فرض sRGB، سفارشی از طریق Options.IccProfileData)، یک به‌روزرسانی کاتالوگ که آن‌ها را به هم پیوند می‌دهد و یک آرایهٔ /ID در trailer مورد نیاز 6.1.3 تزریق می‌کند. فیلدهای Options خالی‌مانده به‌طور خودکار از FPDF_GetMetaText و FPDF_GetFileIdentifier پر می‌شوند، پس فراخوانندهٔ معمولی تنها Conformance را تنظیم می‌کند

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

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfASaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := Default(TPdfASaveOptions);
    Opts.Conformance := pac1b;
    if Pdf1.SaveAsPdfAToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs