PDFium Component Docs

SaveAsPdfA methode

Component: TPdf  ·  Unit: PDFium
Slaat het huidige document op als een PDF/A-1b-conform-bestand door nabewerking van de basis-PDF met een incrementele update die een XMP-metagegevensstroom, een sRGB-ICC-OutputIntent en een bijgewerkte documentcatalogus injecteert

Syntax

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

Description

SaveAsPdfA voert eerst de reguliere SaveAs uit, waarna een incrementele update bovenop de opgeslagen bytes wordt gelaagde die het bestand tot een PDF/A-archief promoveert (PDF/A-1b standaard; ISO 19005-1, met Cor.1:2007). De nabewerking injecteert vier dingen in de opgeslagen stroom:

De uitvoer blijft byte-identiek aan het basis-SaveAs-resultaat tot aan het einde van de originele PDF; alleen de incrementele update wordt toegevoegd. Bestaande lezers die PDF/A niet begrijpen renderen het bestand nog steeds exact zoals de reguliere SaveAs zou doen. De twee overloads verschillen alleen in hoe de conformiteit / opties worden doorgegeven — de TPdfAConformance-vorm is een verkorte vorm voor het algemene geval (pac1b); de TPdfASaveOptions-vorm neemt een record met het volledige configuratieoppervlak, inclusief optionele overrides voor Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId en InstanceId. Velden die leeg worden gelaten worden automatisch gevuld vanuit FPDF_GetMetaText / FPDF_GetFileIdentifier, zodat de typische aanroeper geen veld anders dan Conformance hoeft in te stellen.

De waarde Conformance selecteert 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 niveaus b, u en a toe als pac2b / pac2u / pac2a en pac3b / pac3u / pac3a. De geïnjecteerde pdfaid:part (1, 2 of 3) en pdfaid:conformance (A, B of U) volgen de gevraagde waarde, terwijl de OutputIntent het subtype GTS_PDFA1 behoudt dat ISO 19005-2 voor elk deel behoudt. Omdat de nabewerker geen logische structuur kan synthetiseren, resulteert een Level A-verzoek (pac1a / pac2a / pac3a) automatisch in een downgrades naar het overeenkomstige Level B wanneer de bron de getagde-PDF-structuur die dat niveau vereist ontbreekt — dus het opgeslagen bestand doet nooit een valse Level A-claim.

Retourneert True bij succes. Retourneert False als de basis-SaveAs faalde, als de incrementele update niet kon worden bijgevoegd (PDF te kort, ongeldige trailer), of als de ICC-profiel- gegevens werden aangeleverd maar validatie faalde.

Remarks

Example

// 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;

See Also

SaveAsPdfAToStream, ValidatePdfA, PdfAConformance, SaveAs