PDFium Delphi Component Docs

متد SaveAsPdfUa

کامپوننت: TPdf  ·  واحد: PDFium
به‌صورت پیش‌فرض PDF/UA-1 ذخیره می‌کند، یا هنگام پیکربندی از طریق TPdfUaSaveOptions.PdfUa2، PDF/UA-2 را ذخیره می‌کند

Syntax

function SaveAsPdfUa(const FileName: string): Boolean; overload;
function SaveAsPdfUa(const FileName: string; const Options: TPdfUaSaveOptions): Boolean; overload;

Description

SaveAsPdfUa ابتدا SaveAs معمولی را اجرا می‌کند و سپس یک به‌روزرسانی افزایشی روی بایت‌های ذخیره‌شده لایه‌گذاری می‌کند که پرونده را به سند PDF/UA-1 یا PDF/UA-2 ارتقا می‌دهد. پس‌پردازش چهار دسته نشانگر را به جریان ذخیره‌شده تزریق می‌کند:

خروجی تا پایان PDF اصلی بایت‌به‌بایت با نتیجهٔ پایهٔ SaveAs یکسان می‌ماند؛ تنها به‌روزرسانی افزایشی الحاق می‌شود. خواننده‌های موجود که PDF/UA را نمی‌فهمند، پرونده را دقیقاً همان‌طور که SaveAs معمولی رندر می‌کرد نمایش می‌دهند. دو overload تنها در نحوهٔ ارسال پیکربندی تفاوت دارند: شکل فقط-نام-پرونده از TPdfUaSaveOptions.Default با پر کردن خودکار از FPDF_GetMetaText / FPDF_GetFileIdentifier / FPDFCatalog_GetLanguage استفاده می‌کند، در حالی که شکل TPdfUaSaveOptions به فراخواننده اجازه می‌دهد Title، Author، Subject، Keywords، Creator، Producer، CreationDate، ModDate، Language، DocumentId، InstanceId و شناسه‌های Part، Revision، Amd و Corr مربوط به pdfuaid را بازنویسی کند

TPdfUaSaveOptions.PdfUa2 بخش 2 را انتخاب می‌کند، مقدار پیش‌فرض pdfuaid:rev یعنی 2024 را تأمین کرده و /Version /2.0 کاتالوگ را می‌نویسد تا منبع PDF 1.x به‌روزرسانی‌شدهٔ افزایشی، PDF 2.0 را به‌عنوان نسخهٔ مؤثر خود داشته باشد

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

Remarks

Example

// Simple PDF/UA-1 output, options auto-populated from the document
if Pdf1.SaveAsPdfUa('C:\Report.pdfua.pdf') then
  ShowMessage('Saved PDF/UA-1');

// With explicit options (Title overridden, language explicit)
var
  Opts: TPdfUaSaveOptions;
begin
  Opts := TPdfUaSaveOptions.Default;
  Opts.DocumentTitle := 'Quarterly Report Q3 2026';
  Opts.Language := 'en-US';
  Pdf1.SaveAsPdfUa('C:\Report.q3.pdfua.pdf', Opts);

// PDF/UA-2 output based on ISO 32000-2
  Opts := TPdfUaSaveOptions.PdfUa2;
  Opts.DocumentTitle := 'Accessible PDF 2.0 report';
  Opts.Language := 'en-US';
  Pdf1.SaveAsPdfUa('C:\Report.pdfua2.pdf', Opts);
end;

See Also

SaveAsPdfUaToStream, ValidatePdfUa, PdfUaConformance, SaveAsPdfA, IsTagged