PDFium Component Docs

SaveAsPdfA-metode

Component: TPdf  ·  Unit: PDFium
Lagrer det gjeldende dokumentet som en PDF/A-1b-kompatibel fil ved å etterbehandle base-PDF-en med en inkrementell oppdatering som injiserer en XMP-metadata-strøm, en sRGB ICC OutputIntent og et oppdatert dokumentkatalog

Syntax

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

Description

SaveAsPdfA utfører først den vanlige SaveAs, og legger deretter en inkrementell oppdatering oppå de lagrede byteverdiene, som oppgraderer filen til et PDF/A-arkiv (PDF/A-1b som standard; ISO 19005-1, med Cor.1:2007). Etterbehandlingen injiserer fire ting i den lagrede strømmen:

Utdatan forblir byte-identisk med base-SaveAs-resultatet frem til slutten av den opprinnelige PDF-en; bare den inkrementelle oppdateringen legges til. Lesere som ikke forstår PDF/A, gjengir fortsatt filen nøyaktig slik den vanlige SaveAs ville gjort. De to overlastningene skiller seg bare i hvordan samsvar / alternativer sendes inn — TPdfAConformance-formen er en forkortelse for det vanlige tilfellet (pac1b); TPdfASaveOptions-formen tar en record med den fullstendige konfigurasjonsflaten, inkludert valgfrie overstyringer for Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId og InstanceId. Felter som etterlates tomme, fylles automatisk ut fra FPDF_GetMetaText / FPDF_GetFileIdentifier, så den typiske kalleren trenger ikke å sette andre felt enn Conformance

Verdien Conformance velger målstandard og nivå. PDF/A-1 (ISO 19005-1) tilbyr pac1b og pac1a; PDF/A-2 (ISO 19005-2) og PDF/A-3 (ISO 19005-3) legger til nivåene b, u og a som pac2b / pac2u / pac2a og pac3b / pac3u / pac3a. De injiserte pdfaid:part (1, 2 eller 3) og pdfaid:conformance (A, B eller U) følger den forespurte verdien, mens OutputIntent-en beholder GTS_PDFA1-subtypen som ISO 19005-2 beholder for hver del. Etterbehandleren kan ikke syntetisere logisk struktur, så et nivå A-ønske (pac1a / pac2a / pac3a) nedgraderes automatisk til matchende nivå B når kilden mangler den taggede PDF-strukturen som nivået krever — dermed fremsetter aldri den lagrede filen en falsk nivå A-påstand

Returnerer True ved vellykket lagring. Returnerer False hvis base-SaveAs feilet, hvis den inkrementelle oppdateringen ikke kunne festes (PDF-en for kort, ugyldig trailer), eller hvis ICC-profildataene ble oppgitt men ikke besto valideringen

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