콘텐츠로 이동
getnextpdf.com

Pro 에디션

규정 준수

NextPDF Pro는 PDF/UA-2 언어 태그 이벤트를 보고하고, Factur-X / ZUGFeRD 전자 인보이스 XML을 검증하고 임베드하며, C2PA 매니페스트 저장소를 임베드하거나 읽습니다. 이러한 기능은 보고서와 구조화된 결과를 생성합니다. 문서를 인증하거나 규제 충족성을 보장하지는 않습니다.

이 기능은 NextPDF Pro(nextpdf/pro)로 제공되며 Pro 등급 라이선스 봉투로 활성화됩니다. 그 자격이 없는 배포는 이 기능의 클래스를 로드하지 않습니다. 규정 준수는 Pro 에디션의 일부이며, 기능별 별도의 라이선스 플래그는 없습니다. 에디션 비교 및 라이선스 받기.

Terminal window
composer require nextpdf/pro:^3

Compliance 모듈에는 세 개의 독립적인 표면이 있습니다.

언어 태그 보고. 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()는 결정을 위한 하나의 입력이지, 확인 없이 규제 당국에 건넬 수 있는 판정이 아닙니다. 증거는 여러분 자신의 통제를 대체하는 대신 그와 조합되므로, 입력이 적대적일 때에도 진실을 유지합니다.

설계 배경: 감사자에게 건넬 수 있는 규정 준수.

클래스책임
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과 보고서에 자체 보존 및 최소화 통제를 적용하십시오.

안전한 텔레메트리 및 로그 스크러빙

섹션 제목: “안전한 텔레메트리 및 로그 스크러빙”

보고기 레코드와 검증 로그에는 태그 값과 규칙 식별자가 포함될 수 있습니다. 전체 인보이스 페이로드는 포함하지 않습니다. 해당 값이 민감하다면, 로그를 공유 싱크로 전달하기 전에 태그 값을 스크러빙하거나 가리십시오.

동작참조상태
자연어 선언 (/Lang)ISO 14289-2:2024 §8.4.4검사 / 보고됨
핵심 인보이스 시맨틱 모델EN 16931-1:2026검사됨 (발행자가 책임을 유지함)
C2PA 매니페스트 저장소 / JUMBFC2PA 2.1 §11.1임베드 / 추출 지원됨

이 표는 NextPDF Pro가 구축 대상으로 삼는 사양과 검사하는 내용을 기록합니다. 인증이나 규제 충족성에 대한 진술이 아닙니다.

이 모듈은 암호 서명을 수행하지 않습니다. C2PA 주장 서명과 키 보관은 그 범위 밖입니다. FIPS 모드 서명 동작은 Security 모듈을 참조하십시오.

신뢰할 수 없는 전자 인보이스 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 표면만 문서화합니다. 내부 네임스페이스 경로, 헬퍼 클래스, 메커니즘 표, 런북 파일 이름, 티켓 접두사는 범위 밖입니다.