PDFium Component Docs

SaveAsPdfA Methode

Deze API-entry behoudt identifiers, signatures, codeblokken en PDF-termen in hun oorspronkelijke vorm.
Component: TPdf  ·  Unit: PDFium
Slaat het huidige document op als een PDF/A-1b-conform bestand door de basis-PDF na te bewerken met een incrementele update die een XMP-metadatastream, een sRGB ICC OutputIntent en een bijgewerkte documentcatalogus toevoegt

Syntaxis

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

Beschrijving

SaveAsPdfA voert eerst de gewone SaveAs uit en legt daar vervolgens een incrementele update bovenop die het bestand naar een PDF/A-archief verheft (standaard PDF/A-1b; ISO 19005-1, met Cor.1:2007). De nabewerking voegt vier zaken toe aan de opgeslagen stream

De uitvoer blijft byte-identiek aan het resultaat van de basis-SaveAs tot het einde van de originele PDF; alleen de incrementele update wordt toegevoegd. Lezers die PDF/A niet begrijpen, renderen het bestand nog steeds precies zoals reguliere SaveAs dat zou doen. De twee overloads verschillen alleen in de manier waarop de conformiteit / opties worden doorgegeven — de TPdfAConformance-vorm is een afkorting voor het gebruikelijke geval (pac1b); de TPdfASaveOptions-vorm neemt een record met de volledige configuratie, inclusief optionele overschrijvingen voor Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId en InstanceId. Velden die leeg blijven, worden automatisch gevuld uit FPDF_GetMetaText / FPDF_GetFileIdentifier, zodat de doorsnee aanroeper niets anders hoeft in te stellen dan Conformance

De waarde van Conformance kiest de doelstandaard en het niveau. PDF/A-1 (ISO 19005-1) biedt pac1b en pac1a; PDF/A-2 (ISO 19005-2) en PDF/A-3 (ISO 19005-3) voegen de niveaus b, u en a toe als pac2b / pac2u / pac2a en pac3b / pac3u / pac3a. De ingevoegde pdfaid:part (1, 2 of 3) en pdfaid:conformance (A, B of U) volgen de gevraagde waarde, terwijl de OutputIntent het GTS_PDFA1-subtype behoudt dat ISO 19005-2 voor elk deel gebruikt. Omdat de post-processor geen logische structuur kan synthetiseren, wordt een Level A-aanvraag (pac1a / pac2a / pac3a) automatisch verlaagd naar het bijbehorende Level B wanneer de bron de Tagged PDF-structuur mist die dat niveau vereist — zo claimt het opgeslagen bestand nooit ten onrechte Level A

Geeft True terug bij succes. Geeft False terug als de basis-SaveAs mislukte, als de incrementele update niet kon worden aangehecht (PDF te kort, ongeldige trailer) of als de ICC-profielgegevens wel werden opgegeven maar niet door validatie kwamen

Opmerkingen

Voorbeeld

// Eenvoudige PDF/A-1b-uitvoer met het meegeleverde sRGB-profiel
if Pdf1.SaveAsPdfA('C:\Report.pdfa.pdf') then
  ShowMessage('Saved PDF/A-1b');

// Met een aangepast ICC-profiel
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;

Zie ook

SaveAsPdfAToStream, ValidatePdfA, PdfAConformance, SaveAs