PDFium Delphi Component Docs

ValidatePdfUa メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
現在の文書の PDF/UA-1 または PDF/UA-2 への適合を検査し、プロファイル固有の問題を返します

構文

function ValidatePdfUa: TPdfUaValidationResult;

説明

ValidatePdfUa は XMP から PDF/UA-1 と PDF/UA-2 を判別し、選択されたプロファイルの規則を適用します

結果は TPdfUaValidationResult レコードです:

PDF/UA-2 の検証ではさらに、4 桁の pdfuaid:rev、実効的な PDF 2.0、A/W/S 注釈のタブ順序、XFA の不在、空でないオプショナルコンテンツ構成名、PDF 2.0 で廃止された Sound / Movie 注釈の不在、明示的に番号付けされた H1 から Hn までの見出し構造タイプが必要です

v3.73.0 以降、Artifact でないページテキストや構造の Title、Alt、ActualText、Expansion 文字列が有効な実効 /Lang 宣言を欠く場合、問題集合には pvuaiNaturalLanguageUncovered も含まれ得ます

v3.74.0 以降、ページの構造ツリーに主張される MCID を Artifact ページオブジェクトが持つ場合 (パスベースのページ区切り Artifact を含む)、問題集合には pvuaiArtifactInStructureTree も含まれ得ます

v3.75.0 以降、Unicode マッピングの問題は 1 回のオブジェクトスコープの InspectPdfUaUnicodeCoverage パスから得られます。有効な ActualText はその由来するテキストオブジェクトの文字だけをカバーし、Artifact と PDFium が生成した文字は意味的なカバレッジから除外されます

ValidatePdfUa は読み取り専用の検査です — 文書を変更せず、繰り返し呼び出しても安全です。 PDF をアーカイブシステムやアクセシビリティチェッカーへ引き渡す前に呼び出せば、 不適合をオペレーターに可視化できます。問題リストを必要としない 「これは PDF/UA-1 か」という定番の確認には、より軽量な PdfUaConformance プロパティが適しています

備考

例

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;

関連項目

PdfUaConformance, SaveAsPdfUa, SaveAsPdfUaToStream, IsTagged, ValidatePdfA