PDFium Delphi Component Docs

ValidatePdfUa metod

Component: TPdf  ·  Unit: PDFium
Proverava trenutni dokument prema usklađenosti PDF/UA-1 ili PDF/UA-2 i vraća probleme specifične za profil

Syntax

function ValidatePdfUa: TPdfUaValidationResult;

Description

ValidatePdfUa otkriva PDF/UA-1 i PDF/UA-2 iz XMP-a i primenjuje pravila za izabrani profil

Rezultat je zapis TPdfUaValidationResult:

PDF/UA-2 validacija dodatno zahteva četvorocifreni pdfuaid:rev, efektivan PDF 2.0, A/W/S redosled tabulacije anotacija, bez XFA-a, neprazna imena optional-content konfiguracija, bez PDF 2.0-zastarelih Sound ili Movie anotacija i eksplicitno numerisane tipove strukture naslova od H1 do Hn

Od v3.73.0 skup problema može da sadrži i pvuaiNaturalLanguageUncovered kada tekst stranice van Artifacts-a ili strukturni string Title, Alt, ActualText ili Expansion nema važeću efektivnu deklaraciju /Lang

Od v3.74.0 skup problema može da sadrži i pvuaiArtifactInStructureTree kada Artifact objekat stranice nosi MCID koji zahteva stablo strukture stranice, uključujući paginacione artifact-e zasnovane na putanjama

Od v3.75.0 problemi Unicode mapiranja dolaze iz jednog prolaza InspectPdfUaUnicodeCoverage u opsegu objekta; važeći ActualText pokriva samo karaktere iz svog izvornog tekstualnog objekta, dok su karakteri Artifact i PDFium-generisani isključeni iz semantičkog pokrivanja

ValidatePdfUa je inspekcija koja samo čita — ne menja dokument i bezbedno se može pozivati više puta. Koristite je pre nego što PDF predate arhivskom sistemu ili proveri dostupnosti, da operateru iskažete neusklađenost. Za uobičajenu proveru „da li je ovo PDF/UA-1?“ koja ne treba listu problema, koristite lakše svojstvo PdfUaConformance

Remarks

Example

uses System.TypInfo;

var
  Outcome: TPdfUaValidationResult;
  Issue: TPdfUaValidationIssue;
begin
  Pdf1.FileName := 'C:\Incoming\report.pdf';
  Pdf1.Active := True;
  Outcome := Pdf1.ValidatePdfUa;
  Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfUaConformance),
    Ord(Outcome.Conformance)));
  for Issue in Outcome.Issues do
    Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfUaValidationIssue), Ord(Issue)));
end;

See Also

PdfUaConformance, SaveAsPdfUa, SaveAsPdfUaToStream, IsTagged, ValidatePdfA