PDFium Delphi Component Docs

SaveAsPdfUa Methode

Komponente: TPdf  ·  Unit: PDFium
Speichert standardmäßig PDF/UA-1 oder PDF/UA-2, wenn über TPdfUaSaveOptions.PdfUa2 konfiguriert

Syntax

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

Beschreibung

SaveAsPdfUa führt zuerst das reguläre SaveAs aus und legt dann ein inkrementelles Update über die gespeicherten Bytes, das die Datei zu einem PDF/UA-1- oder PDF/UA-2-Dokument erhebt. Die Nachbearbeitung injiziert vier Klassen von Markern in den gespeicherten Stream:

Die Ausgabe bleibt bis zum Ende des ursprünglichen PDF byteidentisch mit dem Basis-SaveAs-Ergebnis; nur das inkrementelle Update wird angehängt Vorhandene Reader, die PDF/UA nicht verstehen, rendern die Datei weiterhin exakt so, wie das reguläre SaveAs es täte. Die beiden Überladungen unterscheiden sich nur darin, wie die Konfiguration übergeben wird: die Form nur mit Dateinamen verwendet TPdfUaSaveOptions.Default mit automatischer Befüllung aus FPDF_GetMetaText / FPDF_GetFileIdentifier / FPDFCatalog_GetLanguage, während die TPdfUaSaveOptions-Form dem Aufrufer erlaubt, Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, Language, DocumentId, InstanceId sowie die pdfuaid-Bezeichner Part, Revision, Amd und Corr zu überschreiben

TPdfUaSaveOptions.PdfUa2 wählt Part 2, liefert den Standardwert 2024 für pdfuaid:rev und schreibt Katalog-/Version /2.0, sodass eine inkrementell aktualisierte PDF 1.x-Quelle PDF 2.0 als effektive Version hat

Liefert True bei Erfolg. Liefert False, wenn das zugrunde liegende SaveAs fehlschlug oder das inkrementelle Update nicht angehängt werden konnte (PDF zu kurz, ungültiger Trailer, verschlüsselte Quelle)

Hinweise

Beispiel

// Einfache PDF/UA-1-Ausgabe, Optionen werden aus dem Dokument automatisch befüllt
if Pdf1.SaveAsPdfUa('C:\Report.pdfua.pdf') then
  ShowMessage('Saved PDF/UA-1');

// Mit expliziten Optionen (Title überschrieben, Sprache explizit)
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-Ausgabe auf Basis von 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;

Siehe auch

SaveAsPdfUaToStream, ValidatePdfUa, PdfUaConformance, SaveAsPdfA, IsTagged