Bỏ qua để đến nội dung
getnextpdf.com

Pro phiên bản

Tuân thủ

NextPDF Pro báo cáo về các sự kiện thẻ ngôn ngữ PDF/UA-2, kiểm định và nhúng XML hóa đơn điện tử Factur-X / ZUGFeRD, và nhúng hoặc đọc các manifest store C2PA. Các tính năng này tạo ra báo cáo và kết quả có cấu trúc. Chúng không chứng nhận một tài liệu hay bảo đảm tính đầy đủ về mặt quy định.

Khả năng này được cung cấp trong NextPDF Pro (nextpdf/pro) và kích hoạt bằng một license envelope bậc Pro. Một triển khai không có quyền đó sẽ không nạp các lớp của khả năng này. Compliance là một phần của phiên bản Pro; không có cờ giấy phép riêng theo từng tính năng. So sánh các phiên bản và nhận giấy phép.

Terminal window
composer require nextpdf/pro:^3

Module Compliance có ba bề mặt độc lập.

Báo cáo thẻ ngôn ngữ. LangComplianceReporter phát ra một bản ghi JSON có cấu trúc cho mỗi sự kiện thẻ ngôn ngữ PDF/UA-2. Mỗi bản ghi mang thẻ vi phạm, một lý do mà máy có thể đọc, các thành phần thẻ đã được phân tích, một tham chiếu điều khoản ISO 14289-2 §8.4.4 và một dấu thời gian. ConformancePolicy là một facade của Premium, mặc định xử lý ngôn ngữ UA-2 nghiêm ngặt: nó fail closed khi một thẻ BCP-47 sai định dạng hoặc chưa đăng ký lọt vào mục /Lang. Một tùy chọn nới lỏng (ConformancePolicy::withStrictUa2(false)) đưa về hành vi cho phép dễ dãi kiểu cũ và ghi một notice. NextPDF đánh dấu tùy chọn đó là deprecated; hãy dùng mặc định nghiêm ngặt thay vào đó. Tùy chọn này tồn tại từ v5.0 và sẽ biến mất ở bản phát hành lớn kế tiếp. Để di chuyển, hãy rà soát kho tài liệu của bạn để tìm các giá trị /Lang sai định dạng, sửa chúng, rồi bỏ lời gọi tùy chọn để mặc định nghiêm ngặt được áp dụng.

Xử lý hóa đơn điện tử. EInvoiceValidator kiểm tra một PDF lai dựa trên mô hình dữ liệu ngữ nghĩa EN 16931 và đặc tả container Factur-X 1.08 / ZUGFeRD 2.4. Nó phát hiện hồ sơ tiêu chuẩn, chạy engine quy tắc nghiệp vụ EN 16931 và chạy một lượt Schematron. Trước khi kiểm định, nó trích xuất XML hóa đơn nhúng từ PDF — bao gồm cả từ các PDF object-stream, vốn là đầu ra mặc định của những bộ tạo phổ biến như Ghostscript, Gotenberg và Antenna House, và là thứ mà việc trích xuất trước đây không đọc được. Bộ trích xuất chấp nhận các MIME subtype có tham số theo RFC 7303 (ví dụ text/xml; charset=UTF-8) và các tên tệp nhúng dạng literal-string theo ISO 32000-2, bao gồm cả các escape. FacturXEmbedder tạo ra một tài liệu PDF/A-3 lai với XML Factur-X được đính kèm. EInvoiceValidationResult báo cáo hồ sơ tiêu chuẩn, cú pháp, các vi phạm quy tắc và các kiểm tra wrapper.

Xuất xứ. C2paManifestEmbedder nhúng một manifest store C2PA do bên gọi cung cấp vào một chuỗi byte PDF, hoặc trích xuất nó ra. ManifestStore là đối tượng giá trị bất biến đi qua ranh giới. Khớp nối này không tổng hợp các tuyên bố (claim) hay phân giải các ràng buộc băm.

Module này báo cáo những gì nó kiểm tra. Nó không khẳng định rằng một tài liệu là tuân thủ pháp luật, được chứng nhận hay có hiệu lực ràng buộc pháp lý, và nó không bảo đảm rằng bất kỳ đầu ra nào thỏa mãn một quy định hay khu vực pháp lý.

  • Bộ kiểm định hóa đơn điện tử chỉ kiểm tra mô hình ngữ nghĩa EN 16931 và đặc tả container Factur-X / ZUGFeRD. Nó không phải là bộ kiểm định của cơ quan thuế. Các mở rộng quốc gia — ví dụ SDI của Ý, Chorus Pro của Pháp, XRechnung của Đức — nằm ngoài phạm vi. Như chính EN 16931-1 lưu ý, bên phát hành hóa đơn chịu trách nhiệm đáp ứng các quy tắc của pháp luật liên quan.
  • Bộ báo cáo thẻ ngôn ngữ tạo ra một báo cáo về các sự kiện thẻ. Nó không làm cho một tài liệu trở nên phù hợp.
  • Việc nhúng C2PA ghi một manifest do bên gọi cung cấp. Nó không tạo ra hay ký các tuyên bố bên trong đó.

Hỗ trợ một tiêu chuẩn không giống với sự phù hợp với tiêu chuẩn đó. Hãy tham vấn nhóm tuân thủ của bạn để đánh giá tính đầy đủ về mặt quy định cho mục đích sử dụng của bạn.

Quyết định cốt lõi là một ranh giới cứng giữa việc kiểm tra và việc chứng nhận. Mỗi bề mặt trả về bằng chứng — một báo cáo, một kết quả kiểm định, một manifest được nhúng — chứ không bao giờ là một khẳng định rằng một tài liệu tuân thủ pháp luật. Điều đó giữ cho khớp nối trung thực xuyên suốt các phiên bản. ConformancePolicy fail closed trên một thẻ /Lang sai định dạng, và C2paManifestEmbedder không bao giờ ký các tuyên bố mà nó mang theo. EInvoiceValidator::validate() trả về một EInvoiceValidationResult; một isValid() xanh là một đầu vào cho quyết định của bạn, không phải một phán quyết mà bạn có thể trao cho một cơ quan quản lý mà không kiểm chứng. Bằng chứng kết hợp với các biện pháp kiểm soát của riêng bạn thay vì thay thế chúng, nên nó vẫn trung thực ngay cả khi đầu vào là thù địch.

Bối cảnh thiết kế: Sự tuân thủ bạn có thể trao cho kiểm toán viên.

LớpTrách nhiệm
LangComplianceReporterPhát ra các bản ghi sự kiện thẻ ngôn ngữ có cấu trúc.
ConformancePolicyFacade chính sách ngôn ngữ UA-2 nghiêm ngặt của Premium.
EInvoiceValidatorKiểm tra EN 16931 / Factur-X / ZUGFeRD; trả về một kết quả.
EInvoiceValidationResultHồ sơ tiêu chuẩn, cú pháp, vi phạm quy tắc, kiểm tra wrapper.
FacturXEmbedderTạo một tài liệu PDF/A-3 lai + XML Factur-X.
C2paManifestEmbedderNhúng hoặc trích xuất một manifest store C2PA.
ManifestStoreĐối tượng giá trị manifest-store C2PA bất biến.
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.
  • Một PDF đúng định dạng nhưng không phải Factur-X sẽ trả về một kết quả “không phải hóa đơn điện tử” thay vì ném ngoại lệ.
  • Bộ trích xuất XML đọc được các PDF object-stream (đầu ra mặc định của Ghostscript, Gotenberg và Antenna House) và chấp nhận các MIME subtype có tham số theo RFC 7303 cùng các tên tệp dạng literal-string theo ISO 32000-2. Đây là trích xuất tương thích cho đầu ra của bộ tạo phù hợp, không phải kiểm định đính kèm có thẩm quyền đối với đầu vào thù địch — việc kích hoạt xref đầy đủ cho các điểm cuối công khai mang tính đối kháng là một ranh giới hoãn lại đã được ghi tài liệu. Hãy xử lý việc trích xuất từ các nguồn không tin cậy cho phù hợp.
  • Một danh sách vi phạm quy tắc nghiệp vụ rỗng tự nó không có nghĩa là tài liệu hợp lệ; các kiểm tra wrapper và đính kèm cũng được áp dụng.
  • NextPDF deprecate tùy chọn nới lỏng UA-2 nghiêm ngặt; hãy di chuyển sang mặc định nghiêm ngặt (xem Tổng quan khái niệm). Nó sẽ biến mất ở bản phát hành lớn kế tiếp.

Chi phí kiểm định mở rộng theo kích thước XML nhúng và số lượng quy tắc. Báo cáo thẻ ngôn ngữ là hằng số cho mỗi sự kiện.

Mọi việc phân tích XML đều vô hiệu hóa phân giải thực thể ngoài (an toàn XXE) và giới hạn việc giải nén. Hãy xem XML hóa đơn điện tử và các byte C2PA từ nguồn không tin cậy là thù địch.

XML hóa đơn điện tử có thể chứa dữ liệu cá nhân và tài chính. Việc xử lý là trong tiến trình và cục bộ; module không thực hiện lời gọi mạng đi ra nào để kiểm định. Hãy áp dụng các biện pháp kiểm soát lưu giữ và tối thiểu hóa của riêng bạn đối với XML và các báo cáo đã trích xuất.

Các bản ghi của bộ báo cáo và log kiểm định có thể bao gồm giá trị thẻ và mã định danh quy tắc. Chúng không bao gồm toàn bộ tải trọng hóa đơn. Hãy làm sạch hoặc che các giá trị thẻ trước khi chuyển tiếp log tới các sink dùng chung nếu các giá trị đó nhạy cảm.

Hành viTham chiếuTrạng thái
Khai báo ngôn ngữ tự nhiên (/Lang)ISO 14289-2:2024 §8.4.4Đã kiểm tra / đã báo cáo
Mô hình ngữ nghĩa hóa đơn cốt lõiEN 16931-1:2026Đã kiểm tra (bên phát hành vẫn chịu trách nhiệm)
Manifest store C2PA / JUMBFC2PA 2.1 §11.1Hỗ trợ nhúng / trích xuất

Bảng này ghi lại các đặc tả mà NextPDF Pro được xây dựng theo và những gì nó kiểm tra. Đây không phải là một tuyên bố về chứng nhận hay tính đầy đủ về mặt quy định.

Module này không thực hiện việc ký mật mã. Việc ký tuyên bố C2PA và lưu giữ khóa nằm ngoài phạm vi của nó; xem module Security để biết hành vi ký ở chế độ FIPS.

XML hóa đơn điện tử và các byte C2PA không tin cậy là các đầu vào chính. Biện pháp giảm thiểu: phân tích an toàn XXE, giải nén có giới hạn, không tổng hợp tuyên bố qua khớp nối C2PA, và không có I/O mạng trong khi kiểm định.

  • LangComplianceReporter phát ra một bản ghi JSON có cấu trúc cho mỗi sự kiện thẻ ngôn ngữ PDF/UA-2 với thẻ vi phạm, một lý do mà máy có thể đọc, các thành phần thẻ đã phân tích, một tham chiếu ISO 14289-2 §8.4.4 và một dấu thời gian.
  • ConformancePolicy mặc định xử lý ngôn ngữ UA-2 nghiêm ngặt và fail closed khi một thẻ BCP-47 sai định dạng hoặc chưa đăng ký lọt vào /Lang. Tùy chọn nới lỏng đã deprecated và bị loại bỏ ở bản phát hành lớn kế tiếp.
  • EInvoiceValidator phát hiện hồ sơ tiêu chuẩn, chạy engine quy tắc nghiệp vụ EN 16931 và một lượt Schematron, và trả về một EInvoiceValidationResult. Nó không phải là bộ kiểm định của cơ quan thuế; các mở rộng quốc gia nằm ngoài phạm vi và bên phát hành vẫn chịu trách nhiệm theo EN 16931-1.
  • FacturXEmbedder tạo một tài liệu PDF/A-3 lai với XML Factur-X được đính kèm. C2paManifestEmbedder nhúng hoặc trích xuất một ManifestStore do bên gọi cung cấp; nó không tổng hợp hay ký các tuyên bố.
  • Module này báo cáo những gì nó kiểm tra. Nó không chứng nhận một tài liệu hay bảo đảm tính đầy đủ về mặt quy định.

Compliance trong Pro bao gồm báo cáo thẻ ngôn ngữ, kiểm tra EN 16931 / Factur-X / ZUGFeRD và nhúng/trích xuất manifest C2PA. Các hồ sơ lưu trữ và chữ ký mở rộng, cùng việc ký tuyên bố C2PA với lưu giữ khóa, là các mối quan tâm bậc Enterprise được ghi tài liệu riêng và không được module này cung cấp.

Không có tương đương trong Core cho báo cáo thẻ ngôn ngữ, xử lý hóa đơn điện tử hay nhúng manifest C2PA. Đây là các bổ sung của Pro.

Trang này chỉ ghi tài liệu hành vi có thể quan sát từ bên ngoài và bề mặt API công khai được hỗ trợ. Các đường dẫn namespace nội bộ, lớp trợ giúp, bảng cơ chế, tên tệp runbook và tiền tố ticket đều nằm ngoài phạm vi.