ブログ

PDF/A-3 の解説:ファイルが本当に準拠しているか検証する方法

PDF/A-3 は、埋め込み添付ファイルを仕様上保持できる PDF/A プロファイルです。Factur-X / ZUGFeRD 電子インボイスの基盤であり、PDF/A-2 との違い、確認すべき点、無料で使える二重エンジン検証ツールを整理します。

PDF/A は PDF のアーカイブ向け形式です。2026 年に表示される文書が、2050 年にも同じように表示されることを保証するためのものです。大きなプロファイルは PDF/A-1、2、3、4 の 4 つで、それぞれに下位の準拠レベルがあります。この中で、PDF/A-3 は EU の電子インボイスを静かに支えているプロファイルであり、広く使われている中では、アーカイブ用の枠組みの中に任意のファイル添付を許可する唯一のプロファイルです。

請求書、規制当局への提出物、または「PDF + 構造化データ」の業務フローを扱うなら、PDF/A-3 は必ず出会う仕様です。ここでは、それが何で、ほかの PDF/A とどう違い、ファイルが本当に準拠しているかをどう検証するかを説明します。

PDF/A ファミリーを 1 段落で

プロファイル ISO part 特徴
PDF/A-1 19005-1 2005 最初のアーカイブプロファイル。透明度なし、JavaScript なし、フォント埋め込み。
PDF/A-2 19005-2 2011 JPEG2000、透明度、レイヤー対応を追加。印刷再現性が向上。
PDF/A-3 19005-3 2012 埋め込みファイル添付を追加。Factur-X / ZUGFeRD の枠組み。
PDF/A-4 19005-4 2020 現代的な改訂。より整理された準拠モデルで、ba の分割なし。

各プロファイルには下位レベルがあります。

  • b (basic): 視覚的な忠実度を保持する。誰でも読めるが、意味構造の保証はない。
  • a (accessible): 構造タグ + Unicode マッピング。スクリーンリーダーが正しい順序でテキストを抽出できる。
  • u (Unicode): Unicode マッピングはあるが、完全な構造タグはない。中間的な位置づけ。
  • e / f(PDF/A-4 のみ): エンジニアリング向け 3D コンテンツと完全なフォームを追加。

つまり「PDF/A-3b」は、アーカイブプロファイル 3(添付ファイルを許可)かつ basic level(アクセシビリティタグは不要)という意味です。請求書では最も一般的な種類です。

PDF/A-3 の何が特別か

PDF/A-1 と PDF/A-2 は、任意の埋め込みファイルを禁止します。理由は、アーカイブ PDF は自己完結しているべきだからです。埋め込まれた data.xlsx が PDF とは別に劣化すれば、アーカイブの保証が壊れます。

PDF/A-3 は、このルールを厳密な条件付きで緩和します。すべての埋め込みファイルには、そのファイルが表示上の PDF コンテンツとどう関係するかを示す AFRelationship 属性が必要です。有効な値は SourceDataAlternativeSupplementUnspecified です。さらに、PDF 側は添付ファイルを /AF 配列に列挙し、添付ファイルを説明する XMP メタデータを出力しなければなりません。

言い換えると、PDF/A-3 は「添付はしてよい。ただし、それが何で、人間が見る内容とどう関係するかを正確に宣言しなさい」と言っています。この宣言こそが、PDF/A-3 を電子インボイスの入れ物にしました。人間が読める請求書は PDF に入り、機械が読める EN 16931 CII XML は添付ファイルに入り、AFRelationship="Alternative" が両者を同じ請求書の別表現として宣言します。

本番で PDF/A-3 が使われる場所

  • Factur-X(フランス、2026 年以降 B2B で義務化): PDF/A-3 + CII XML。XMP 名前空間は urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#
  • ZUGFeRD 2.x(ドイツ、2025 年から受領義務): PDF/A-3 + CII XML。XMP 名前空間は urn:zugferd:pdfa:CrossIndustryDocument:invoice:2p0#
  • エンジニアリング CAD のアーカイブ: ネイティブ CAD ファイルを添付した PDF/A-3。PDF はレンダリング結果、CAD はソース。
  • 規制当局への提出: XML 送信データを添付した PDF/A-3(FDA 申請、EU 上場企業向け ESEF 財務報告など)。

これらすべてで、この枠組みは単なるコンテナではありません。「この PDF とこの添付ファイルは同じ文書であり、両方が検証に通る必要がある」と宣言する仕様上の取り決めです。

ファイルが PDF/A-3 準拠か検証する方法

公式の準拠チェッカーは、PDF Association が管理する veraPDFverapdf.org)です。ISO 19005-3 のルールセットを実装しており、veraPDF が “Pass — PDF/A-3b” と報告するなら、単一エンジンから得られる最も強い判断材料です。

ただし、単一エンジンの “Pass” は監査で使える水準の標準ではありません(理由は PDF/A 検証ツールは 2 つ使う方がよい理由 で扱っています)。監査水準のやり方は、独立した 2 つのエンジンを走らせ、両方が通った場合だけ準拠と見なすことです。

電子インボイスファイルでは、もう 1 つ必要なエンジンがあります。Mustangmustangproject.org)です。Factur-X / ZUGFeRD の事実上の検証ツールで、埋め込まれた CII XML を EN 16931 Schematron に照らして検証します。PDF/A-3 準拠だけでは足りません。添付 XML も有効な EN 16931 でなければ、受信側の買掛金処理システム(AP system)は請求書を拒否します。

多くのチームは、Java を入れ、veraPDF CLI を設定し、Mustang を入れ、出力をつなぎ合わせるシェルスクリプトを書きます。動きますが、手間はあります。

validator は、この 3 つをブラウザで実行します。

  1. veraPDF: 公式リファレンス、PDF/A-3 準拠。
  2. gPdf の Rust+WASM Edge エンジン: 独立実装によるセカンドオピニオン。
  3. Mustang: 埋め込み電子インボイス用 CII XML の EN 16931 Schematron。

ファイルをドロップすると 3 つが並列に走り、レポートが横並びで返ります。QA 証跡用の JSON もダウンロードできます。ログイン不要、クォータなしです。

PDF/A-3 レポートで実際に見るべきこと

検証ツールを実行して、いずれかのエンジンがエラーを報告する場合、失敗はたいてい次の領域に集中します。

  • Embedded file metadata missing/AF 配列がない、または埋め込みファイルがそこに列挙されていない。
  • AFRelationship missing or wrong — 電子インボイスでは Alternative であるべきです。Source / Data は、多くの PDF ライブラリがデフォルトにしがちな値です。
  • XMP namespace missing or wrong — Factur-X と ZUGFeRD には固有の名前空間 URI があり、1 文字の入力ミスでも検証に落ちます。
  • Fonts not subsetted or not embedded — PDF/A は、文書内で使われたすべてのグリフをフォントとともに埋め込むことを要求します。例外として、宣言されているが実際には使われていないフォント参照でも失敗することがあります。
  • Output intent missing — 文書が純粋な白黒テキストだけでも、PDF/A では色の出力インテント(sRGB または別の ICC プロファイル)を宣言する必要があります。
  • Document metadata incomplete — 文書情報辞書に /Title/Producer/CreationDate が必要です。

これらの各エラーには、検証レポート内で参照される具体的な仕様セクションがあります。生成元で修正します。gPdf で生成している場合、API がこれらを自動で処理し、検証レポートが外部に示せる証跡になります。

TL;DR

PDF/A-3 = PDF/A-2 + 任意のファイルを仕様上埋め込める能力です。この能力により、EU の電子インボイスが実用的になります。人間が読める請求書と、構造化された EN 16931 CII XML を、1 つのアーカイブ用の枠組みに入れられるからです。準拠には、その枠組みが PDF/A-3 を満たすこと、かつ添付 XML が EN 16931 を満たすことの両方が必要です。出荷前に両方が通っていなければなりません。

POST /api/v1/e-invoice/render で生成し、validator で検証してください。3 つのエンジン(veraPDF + gPdf Edge + Mustang)、1 回のアップロード、無料です。