コンテンツにスキップ
getnextpdf.com

Pro エディション

コンプライアンス

NextPDF Pro は、PDF/UA-2 の言語タグイベントをレポートし、Factur-X / ZUGFeRD の電子インボイス XML を検証して埋め込み、C2PA マニフェストストアを埋め込みまたは読み取ります。これらの機能はレポートと構造化された結果を生成します。ドキュメントを認証したり、規制上の十分性を保証したりするものではありません。

この機能は NextPDF Pronextpdf/pro)に含まれ、Pro ティアのライセンスエンベロープで有効化されます。このエンタイトルメントを持たないデプロイメントでは、当該機能のクラスはロードされません。コンプライアンスは Pro エディションの一部であり、機能ごとの個別ライセンスフラグはありません。エディションを比較してライセンスを取得する

Terminal window
composer require nextpdf/pro:^3

コンプライアンスモジュールには、3 つの独立したサーフェスがあります。

言語タグのレポート。 LangComplianceReporter は、各 PDF/UA-2 言語タグイベントについて構造化された JSON レコードを送出します。各レコードは、問題となったタグ、機械可読な理由、解析されたタグの構成要素、ISO 14289-2 §8.4.4 への条項参照、およびタイムスタンプを保持します。ConformancePolicy は、デフォルトで厳格な UA-2 言語処理を行う Premium のファサードです。不正形式または未登録の BCP-47 タグが /Lang エントリに到達すると、フェイルクローズします。緩いオプトアウト(ConformancePolicy::withStrictUa2(false))は、従来の寛容な振る舞いに戻し、通知をログに記録します。NextPDF はこのオプトアウトを 非推奨 としています。代わりに厳格なデフォルトを使用してください。このオプトアウトは v5.0 から存在し、次のメジャーリリースで廃止されます。移行するには、コーパスに不正形式の /Lang 値がないか監査して修正したうえで、オプトアウト呼び出しを削除し、厳格なデフォルトが適用されるようにします。

電子インボイスの処理。 EInvoiceValidator は、ハイブリッド PDF を EN 16931 セマンティックデータモデルおよび Factur-X 1.08 / ZUGFeRD 2.4 コンテナ仕様に照らしてチェックします。プロファイルを検出し、EN 16931 のビジネスルールエンジンを実行し、Schematron パスを実行します。検証の前に、PDF から埋め込みインボイス XML を抽出します。これには、Ghostscript、Gotenberg、Antenna House といった一般的なプロデューサーのデフォルト出力であり、以前の抽出では読み取れなかったオブジェクトストリーム PDF も含まれます。抽出器は、RFC 7303 のパラメーター付き MIME サブタイプ(たとえば text/xml; charset=UTF-8)と、エスケープを含む ISO 32000-2 のリテラル文字列形式の埋め込みファイル名を受け付けます。FacturXEmbedder は、Factur-X XML を添付したハイブリッド PDF/A-3 ドキュメントを生成します。EInvoiceValidationResult は、プロファイル、構文、ルール違反、ラッパーチェックをレポートします。

来歴。 C2paManifestEmbedder は、呼び出し側が供給した C2PA マニフェストストアを PDF バイト列に埋め込むか、それを取り出します。ManifestStore は、境界を越える不変の値オブジェクトです。このシームは、主張を合成したりハッシュバインディングを解決したりはしません。

このモジュールは、チェックした内容をレポート します。ドキュメントが法的にコンプライアンス準拠である、認証されている、または法的拘束力があると主張することはなく、いかなる出力も規制または法域を満たすことを保証しません。

  • 電子インボイスバリデーターは、EN 16931 セマンティックモデルと Factur-X / ZUGFeRD コンテナ仕様 のみ をチェックします。税務当局のバリデーターではありません。国別の拡張(たとえばイタリアの SDI、フランスの Chorus Pro、ドイツの XRechnung)は対象外です。EN 16931-1 自体が指摘しているとおり、関連法規のルールを満たす責任はインボイス発行者にあります。
  • 言語タグレポーターは、タグイベントのレポートを生成します。ドキュメントを適合させるものではありません。
  • C2PA の埋め込みは、呼び出し側が供給したマニフェストを書き込みます。その中の主張を生成したり署名したりはしません。

標準のサポートは、その標準への適合と同じではありません。あなたの用途における規制上の十分性を判断するには、コンプライアンスチームに相談してください。

負荷を担う決定は、チェックと認証との間に引かれた明確な一線です。各サーフェスは、レポート、検証結果、埋め込みマニフェストといった証跡を返すのであって、ドキュメントが法的にコンプライアンス準拠であるという主張を返すことは決してありません。それがエディションをまたいでシームを誠実に保ちます。ConformancePolicy は不正形式の /Lang タグに対してフェイルクローズし、C2paManifestEmbedder は運ぶ主張に署名しません。EInvoiceValidator::validate()EInvoiceValidationResult を返します。緑の isValid() は、あなたの意思決定への 1 つの入力であって、そのまま規制当局に手渡せる判定ではありません。証跡はあなた自身の管理策を置き換えるのではなく、それと組み合わさります。したがって入力が敵対的であっても真実であり続けます。

設計の背景: 監査人に手渡せるコンプライアンス

クラス責務
LangComplianceReporter構造化された言語タグイベントレコードを送出。
ConformancePolicyPremium の厳格な UA-2 言語ポリシーファサード。
EInvoiceValidatorEN 16931 / Factur-X / ZUGFeRD をチェックし、結果を返す。
EInvoiceValidationResultプロファイル、構文、ルール違反、ラッパーチェック。
FacturXEmbedderハイブリッド PDF/A-3 + Factur-X XML ドキュメントを生成。
C2paManifestEmbedderC2PA マニフェストストアの埋め込みまたは抽出。
ManifestStore不変の C2PA マニフェストストア値オブジェクト。
use NextPDF\Pro\Compliance\EInvoice\EInvoiceValidator;
$result = $validator->validate('/path/to/invoice.pdf');
$ok = $result->isValid(); // true only if wrapper, attachment, profile, and no fatal BR
$result = $validator->validate($pdfPath);
foreach ($result->businessRuleViolations as $violation) {
$logger->warning('einvoice.br_violation', [
'rule' => $violation->ruleId,
'severity' => $violation->severity->value,
]);
}
// A green result is one input to your decision, not a compliance verdict.
  • 整形式で Factur-X ではない PDF は、例外を投げるのではなく「電子インボイスではない」という結果を返します。
  • XML 抽出器はオブジェクトストリーム PDF(Ghostscript、Gotenberg、Antenna House のデフォルト出力)を読み取り、RFC 7303 のパラメーター付き MIME サブタイプと ISO 32000-2 のリテラル文字列形式のファイル名を受け付けます。これは 適合するプロデューサー出力に対する互換性抽出 であり、敵対的な入力に対する権威的な添付ファイル検証ではありません。敵対的な公開エンドポイントに対する完全な xref のアクティベーションは、文書化された先送りの境界です。信頼できないソースからの抽出は、それに応じて扱ってください。
  • ビジネスルール違反のリストが空であること自体は、ドキュメントが有効であることを意味しません。ラッパーと添付ファイルのチェックも併せて適用されます。
  • NextPDF は、厳格な UA-2 の緩いオプトアウトを非推奨としています。厳格なデフォルトに移行してください(「概念の概要」を参照)。これは次のメジャーリリースで廃止されます。

検証コストは、埋め込み XML のサイズとルール数に応じてスケールします。言語タグのレポートは、イベントごとに一定です。

すべての XML 解析は、外部エンティティの解決を無効化し(XXE セーフ)、解凍を上限で制限します。信頼できないソースからの電子インボイス XML と C2PA バイトは、敵対的なものとして扱ってください。

電子インボイス XML には、個人データや財務データが含まれる場合があります。処理はプロセス内かつローカルで行われ、このモジュールは検証のためにアウトバウンドのネットワーク呼び出しを行いません。抽出した XML とレポートには、独自の保持・最小化の管理策を適用してください。

レポーターのレコードと検証ログには、タグ値とルール識別子が含まれる場合があります。インボイスのペイロード全体は含まれません。これらの値が機密である場合は、ログを共有シンクへ転送する前にタグ値をスクラブまたは秘匿化してください。

振る舞い参照ステータス
自然言語の宣言(/LangISO 14289-2:2024 §8.4.4チェック/レポート
コアインボイスセマンティックモデルEN 16931-1:2026チェック(責任は発行者に残る)
C2PA マニフェストストア/JUMBFC2PA 2.1 §11.1埋め込み/抽出に対応

この表は、NextPDF Pro が準拠して構築されている仕様と、チェックする内容を記録するものです。認証または規制上の十分性についての言明ではありません。

このモジュールは暗号署名を行いません。C2PA の主張への署名と鍵の保管は本モジュールの範囲外です。FIPS モードの署名の振る舞いについては、セキュリティモジュールを参照してください。

信頼できない電子インボイス XML と C2PA バイトが、主要な入力です。緩和策は、XXE セーフな解析、上限付きの解凍、C2PA シームをまたいだ主張の合成を行わないこと、検証中にネットワーク I/O を行わないことです。

  • LangComplianceReporter は、PDF/UA-2 の言語タグイベントごとに、問題となったタグ、機械可読な理由、解析されたタグの構成要素、ISO 14289-2 §8.4.4 への参照、タイムスタンプを持つ構造化された JSON レコードを送出します。
  • ConformancePolicy はデフォルトで厳格な UA-2 言語処理を行い、不正形式または未登録の BCP-47 タグが /Lang に到達するとフェイルクローズします。緩いオプトアウトは非推奨であり、次のメジャーリリースで削除されます。
  • EInvoiceValidator はプロファイルを検出し、EN 16931 のビジネスルールエンジンと Schematron パスを実行し、EInvoiceValidationResult を返します。これは税務当局のバリデーターではありません。国別の拡張は対象外であり、EN 16931-1 に従い責任は発行者に残ります。
  • FacturXEmbedder は、Factur-X XML を添付したハイブリッド PDF/A-3 ドキュメントを生成します。C2paManifestEmbedder は、呼び出し側が供給した ManifestStore を埋め込みまたは抽出します。主張の合成や署名は行いません。
  • このモジュールは、チェックした内容をレポートします。ドキュメントを認証したり、規制上の十分性を保証したりはしません。

Pro のコンプライアンスは、言語タグのレポート、EN 16931 / Factur-X / ZUGFeRD のチェック、C2PA マニフェストの埋め込み/抽出を対象とします。拡張されたアーカイブおよび署名プロファイル、ならびに鍵の保管を伴う C2PA 主張への署名は Enterprise ティアの関心事であり、別途文書化されています。本モジュールでは提供されません。

言語タグのレポート、電子インボイスの処理、C2PA マニフェストの埋め込みに相当する Core の機能はありません。これらは Pro の追加機能です。

このページは、外部から観測可能な振る舞いと、サポートされている公開 API サーフェスのみを記述します。内部の名前空間パス、ヘルパークラス、メカニズムの表、ランブックのファイル名、チケットのプレフィックスは対象外です。