PDFium Delphi Component Docs

SaveAsPdfUa метод

Component: TPdf  ·  Unit: PDFium
Зберігає PDF/UA-1 за замовчуванням або PDF/UA-2, якщо налаштовано через TPdfUaSaveOptions.PdfUa2

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. Постобробка вставляє чотири класи маркерів у збережений потік:

Результат побайтово збігається з базовим SaveAs до кінця початкового PDF; додається лише інкрементне оновлення. Проглядачі, які не розуміють PDF/UA, усе одно рендерять файл точно так, як це зробив би звичайний SaveAs. Два перевантаження відрізняються лише способом передавання конфігурації: форма лише з іменем файлу використовує TPdfUaSaveOptions.Default з автозаповненням із FPDF_GetMetaText / FPDF_GetFileIdentifier / FPDFCatalog_GetLanguage, тоді як форма TPdfUaSaveOptions дозволяє викликачу перевизначити Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, Language, DocumentId, InstanceId та ідентифікатори pdfuaid Part, Revision, Amd і Corr

TPdfUaSaveOptions.PdfUa2 обирає Part 2, подає типове значення pdfuaid:rev 2024 і записує в каталог /Version /2.0, тож джерело PDF 1.x із інкрементним оновленням отримує PDF 2.0 як чинну версію

Повертає True у разі успіху. Повертає False, якщо базовий SaveAs завершився невдало або якщо інкрементне оновлення не вдалося додати (PDF надто короткий, недійсний трейлер, зашифроване джерело).

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