PDFium Component Docs

SaveAsPdfA Metod

Denna API-post behåller identifierare, signaturer, kodblock och PDF-termer i ursprunglig form.
Komponent: TPdf  ·  Enhet: PDFium
Sparar det aktuella dokumentet som en PDF/A-1b-kompatibel fil genom att efterbehandla bas-PDF-filen med en inkrementell uppdatering som injicerar en XMP-metadata-ström, en sRGB ICC OutputIntent och en uppdaterad dokumentkatalog

Syntax

function SaveAsPdfA(const FileName: string; Conformance: TPdfAConformance = pac1b): Boolean; overload;
function SaveAsPdfA(const FileName: string; const Options: TPdfASaveOptions): Boolean; overload;

Beskrivning

SaveAsPdfA utför först den vanliga SaveAs och lägger sedan ett inkrementellt lager ovanpå de sparade byten som lyfter filen till ett PDF/A-arkiv (PDF/A-1b som standard; ISO 19005-1, med Cor.1:2007). Efterbehandlingen injicerar fyra saker i den sparade strömmen:

Utdata är byteidentisk med det ordinarie SaveAs-resultatet fram till slutet av den ursprungliga PDF-filen; endast den inkrementella uppdateringen läggs till efteråt. Äldre läsare som inte förstår PDF/A renderar fortfarande filen exakt som vanlig SaveAs skulle göra. De två överlagringarna skiljer sig bara åt i hur kompatibilitets- och optionsvärden skickas in — formen TPdfAConformance är en genväg för standardfallet (pac1b), medan formen TPdfASaveOptions tar en post med hela konfigurationsytan, inklusive valfria överskrivningar för Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId och InstanceId. Fält som lämnas tomma fylls automatiskt från FPDF_GetMetaText / FPDF_GetFileIdentifier, så den typiska anroparen behöver inte ange något annat än Conformance

Värdet Conformance väljer målstandard och nivå. PDF/A-1 (ISO 19005-1) erbjuder pac1b och pac1a; PDF/A-2 (ISO 19005-2) och PDF/A-3 (ISO 19005-3) lägger till nivåerna b, u och a som pac2b / pac2u / pac2a och pac3b / pac3u / pac3a. Den injicerade pdfaid:part (1, 2 eller 3) och pdfaid:conformance (A, B eller U) följer det begärda värdet, medan OutputIntent behåller undertypen GTS_PDFA1 som ISO 19005-2 bevarar för varje del. Eftersom efterprocessorn inte kan skapa logisk struktur nedgraderas en begäran om nivå A (pac1a / pac2a / pac3a) automatiskt till motsvarande nivå B när källan saknar den Tagged PDF-struktur som nivån kräver — så den sparade filen gör aldrig ett falskt anspråk på nivå A

Returnerar True vid lyckat resultat. Returnerar False om den ordinarie SaveAs misslyckades, om den inkrementella uppdateringen inte kunde kopplas in (PDF:en för kort, ogiltig trailer) eller om ICC-profildata angavs men inte klarade validering

Anmärkningar

Exempel

// Simple PDF/A-1b output using the bundled sRGB profile
if Pdf1.SaveAsPdfA('C:\Report.pdfa.pdf') then
  ShowMessage('Saved PDF/A-1b');

// With a custom ICC profile
var
  Opts: TPdfASaveOptions;
begin
  Opts := Default(TPdfASaveOptions);
  Opts.Conformance := pac1b;
  Opts.IccProfileData := TFile.ReadAllBytes('C:\Profiles\Coated.icc');
  Pdf1.SaveAsPdfA('C:\Report.cmyk.pdfa.pdf', Opts);
end;

Se även

SaveAsPdfAToStream, ValidatePdfA, PdfAConformance, SaveAs