Pro edycja
Zgodność
W skrócie
Dział zatytułowany „W skrócie”NextPDF Pro raportuje o zdarzeniach znaczników języka PDF/UA-2, waliduje i osadza XML e-faktur Factur-X / ZUGFeRD oraz osadza lub odczytuje magazyny manifestów C2PA. Funkcje te wytwarzają raporty i wyniki strukturalne. Nie certyfikują dokumentu ani nie gwarantują dostateczności regulacyjnej.
Dostępność i licencjonowanie
Dział zatytułowany „Dostępność i licencjonowanie”Ta możliwość jest dostarczana w NextPDF Pro (nextpdf/pro) i uaktywnia się wraz z kopertą licencyjną poziomu Pro. Wdrożenie bez tego uprawnienia nie ładuje klas tej możliwości. Compliance jest częścią edycji Pro; nie ma osobnej flagi licencyjnej dla poszczególnych funkcji. Porównaj edycje i uzyskaj licencję.
Instalacja
Dział zatytułowany „Instalacja”composer require nextpdf/pro:^3Przegląd koncepcyjny
Dział zatytułowany „Przegląd koncepcyjny”Moduł Compliance ma trzy niezależne powierzchnie.
Raportowanie znaczników języka. LangComplianceReporter emituje strukturalny rekord JSON dla każdego zdarzenia znacznika języka PDF/UA-2. Każdy rekord niesie naruszający znacznik, czytelny maszynowo powód, sparsowane komponenty znacznika, odniesienie do klauzuli ISO 14289-2 §8.4.4 oraz znacznik czasu. ConformancePolicy to fasada Premium, która domyślnie stosuje ścisłą obsługę języka UA-2: zawodzi bezpiecznie (fail-closed), gdy zniekształcony lub niezarejestrowany znacznik BCP-47 trafia do wpisu /Lang. Łagodna rezygnacja (ConformancePolicy::withStrictUa2(false)) przywraca dawne, permisywne zachowanie i loguje powiadomienie. NextPDF oznacza tę rezygnację jako deprecated; zamiast niej używaj ścisłego trybu domyślnego. Rezygnacja istnieje od wersji v5.0 i znika w następnym wydaniu głównym. Aby przeprowadzić migrację, zaudytuj swój korpus pod kątem zniekształconych wartości /Lang, popraw je, a następnie usuń wywołanie rezygnacji, aby obowiązywał ścisły tryb domyślny.
Obsługa e-faktur. EInvoiceValidator sprawdza hybrydowy plik PDF względem semantycznego modelu danych EN 16931 oraz specyfikacji kontenera Factur-X 1.08 / ZUGFeRD 2.4. Wykrywa profil, uruchamia silnik reguł biznesowych EN 16931 oraz przebieg Schematron. Przed walidacją wyodrębnia osadzony XML faktury z pliku PDF — także z plików PDF w postaci strumieni obiektów (object-stream PDF), które są domyślnym wyjściem powszechnych producentów, takich jak Ghostscript, Gotenberg i Antenna House, i których wcześniejsza ekstrakcja nie potrafiła odczytać. Ekstraktor przyjmuje sparametryzowane podtypy MIME zgodne z RFC 7303 (na przykład text/xml; charset=UTF-8) oraz nazwy osadzonych plików w postaci literalnych ciągów ISO 32000-2, łącznie z sekwencjami ucieczki. FacturXEmbedder wytwarza hybrydowy dokument PDF/A-3 z dołączonym XML Factur-X. EInvoiceValidationResult raportuje profil, składnię, naruszenia reguł oraz kontrole otoczki.
Proweniencja. C2paManifestEmbedder osadza dostarczony przez wywołującego magazyn manifestów C2PA w ciągu bajtów PDF lub wyodrębnia go z powrotem. ManifestStore to niezmienialny obiekt wartości przekraczający granicę. Ten szew nie syntezuje twierdzeń ani nie rozstrzyga powiązań skrótów.
Co oznacza tutaj „compliance”
Dział zatytułowany „Co oznacza tutaj „compliance””Ten moduł raportuje to, co sprawdza. Nie zapewnia, że dokument jest zgodny z prawem, certyfikowany ani prawnie wiążący, i nie gwarantuje, że jakiekolwiek wyjście spełnia regulację lub wymogi jurysdykcji.
- Walidator e-faktur sprawdza model semantyczny EN 16931 oraz specyfikację kontenera Factur-X / ZUGFeRD wyłącznie. Nie jest walidatorem urzędu skarbowego. Rozszerzenia krajowe — na przykład włoskie SDI, francuskie Chorus Pro, niemieckie XRechnung — są poza zakresem. Jak sam EN 16931-1 zaznacza, za spełnienie reguł właściwego ustawodawstwa odpowiada wystawca faktury.
- Reporter znaczników języka wytwarza raport o zdarzeniach znaczników. Nie czyni dokumentu konformantnym.
- Osadzanie C2PA zapisuje dostarczony przez wywołującego manifest. Nie wytwarza ani nie podpisuje zawartych w nim twierdzeń.
Obsługa standardu to nie to samo co konformancja z nim. Skonsultuj się z zespołem ds. zgodności, aby ocenić dostateczność regulacyjną dla swojego zastosowania.
Dlaczego działa to w ten sposób
Dział zatytułowany „Dlaczego działa to w ten sposób”Nośną decyzją jest twarda linia między sprawdzaniem a certyfikowaniem. Każda powierzchnia zwraca dowód — raport, wynik walidacji, osadzony manifest — nigdy zapewnienie, że dokument jest zgodny z prawem. Dzięki temu szew pozostaje uczciwy między edycjami. ConformancePolicy zawodzi bezpiecznie (fail-closed) przy zniekształconym znaczniku /Lang, a C2paManifestEmbedder nigdy nie podpisuje niesionych przez siebie twierdzeń. EInvoiceValidator::validate() zwraca EInvoiceValidationResult; zielone isValid() to jedno z wejść do Twojej decyzji, a nie werdykt, który możesz bez sprawdzenia przekazać regulatorowi. Dowód komponuje się z Twoimi własnymi kontrolami zamiast je zastępować, więc pozostaje prawdziwy nawet wtedy, gdy wejście jest wrogie.
Tło projektowe: Compliance, którą możesz przekazać audytorowi.
Powierzchnia API
Dział zatytułowany „Powierzchnia API”| Klasa | Odpowiedzialność |
|---|---|
LangComplianceReporter | Emituj strukturalne rekordy zdarzeń znaczników języka. |
ConformancePolicy | Fasada ścisłej polityki języka UA-2 w Premium. |
EInvoiceValidator | Sprawdź EN 16931 / Factur-X / ZUGFeRD; zwróć wynik. |
EInvoiceValidationResult | Profil, składnia, naruszenia reguł, kontrole otoczki. |
FacturXEmbedder | Wytwórz hybrydowy dokument PDF/A-3 + XML Factur-X. |
C2paManifestEmbedder | Osadź lub wyodrębnij magazyn manifestów C2PA. |
ManifestStore | Niezmienialny obiekt wartości magazynu manifestów C2PA. |
Przykład kodu — Szybki start
Dział zatytułowany „Przykład kodu — Szybki start”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 BRPrzykład kodu — Produkcja
Dział zatytułowany „Przykład kodu — Produkcja”$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.Przypadki brzegowe i pułapki
Dział zatytułowany „Przypadki brzegowe i pułapki”- Dobrze sformowany plik PDF niebędący Factur-X zwraca wynik „nie jest e-fakturą” zamiast zgłaszać wyjątek.
- Ekstraktor XML odczytuje pliki PDF w postaci strumieni obiektów (domyślne wyjście Ghostscript, Gotenberg i Antenna House) i przyjmuje sparametryzowane podtypy MIME zgodne z RFC 7303 oraz nazwy plików w postaci literalnych ciągów ISO 32000-2. Jest to ekstrakcja zgodności dla wyjścia konformantnego producenta, a nie miarodajna walidacja załączników względem wrogiego wejścia — pełna aktywacja xref dla wrogich publicznych punktów końcowych jest udokumentowaną odroczoną granicą. Traktuj ekstrakcję ze źródeł niezaufanych odpowiednio.
- Pusta lista naruszeń reguł biznesowych sama w sobie nie oznacza, że dokument jest prawidłowy; obowiązują także kontrole otoczki i załączników.
- NextPDF wycofuje (deprecated) łagodną rezygnację ze ścisłego UA-2; przejdź na ścisły tryb domyślny (zobacz Przegląd koncepcyjny). Znika ona w następnym wydaniu głównym.
Wydajność
Dział zatytułowany „Wydajność”Koszt walidacji skaluje się z rozmiarem osadzonego XML i liczbą reguł. Raportowanie znaczników języka jest stałe na zdarzenie.
Uwagi dotyczące bezpieczeństwa
Dział zatytułowany „Uwagi dotyczące bezpieczeństwa”Całe parsowanie XML wyłącza rozstrzyganie encji zewnętrznych (bezpieczne wobec XXE) i ogranicza dekompresję. Traktuj XML e-faktur oraz bajty C2PA ze źródeł niezaufanych jako wrogie.
Lokalizacja danych i ograniczanie PII
Dział zatytułowany „Lokalizacja danych i ograniczanie PII”XML e-faktur może zawierać dane osobowe i finansowe. Przetwarzanie odbywa się w procesie i lokalnie; moduł nie wykonuje wychodzących wywołań sieciowych na potrzeby walidacji. Zastosuj własne kontrole przechowywania i minimalizacji wobec wyodrębnionego XML i raportów.
Bezpieczna telemetria i oczyszczanie logów
Dział zatytułowany „Bezpieczna telemetria i oczyszczanie logów”Rekordy reportera i logi walidacji mogą zawierać wartości znaczników i identyfikatory reguł. Nie zawierają pełnych ładunków faktur. Oczyść lub zredaguj wartości znaczników przed przekazaniem logów do wspólnych ujść, jeśli wartości te są wrażliwe.
Konformancja
Dział zatytułowany „Konformancja”| Zachowanie | Odniesienie | Status |
|---|---|---|
Deklaracja języka naturalnego (/Lang) | ISO 14289-2:2024 §8.4.4 | Sprawdzane / raportowane |
| Semantyczny model danych faktury Core | EN 16931-1:2026 | Sprawdzane (odpowiedzialność wystawcy pozostaje) |
| Magazyn manifestów C2PA / JUMBF | C2PA 2.1 §11.1 | Osadzanie / wyodrębnianie obsługiwane |
Ta tabela zapisuje specyfikacje, względem których zbudowano NextPDF Pro, oraz to, co sprawdza. Nie jest oświadczeniem o certyfikacji ani o dostateczności regulacyjnej.
Zachowanie w trybie FIPS
Dział zatytułowany „Zachowanie w trybie FIPS”Ten moduł nie wykonuje podpisywania kryptograficznego. Podpisywanie twierdzeń C2PA i piecza nad kluczem są poza jego zakresem; zobacz moduł Security w sprawie zachowania podpisywania w trybie FIPS.
Model zagrożeń
Dział zatytułowany „Model zagrożeń”Niezaufany XML e-faktur oraz bajty C2PA to podstawowe wejścia. Środki zaradcze: parsowanie bezpieczne wobec XXE, ograniczona dekompresja, brak syntezy twierdzeń przez szew C2PA oraz brak wejścia/wyjścia sieciowego podczas walidacji.
Kontrakt zachowania
Dział zatytułowany „Kontrakt zachowania”LangComplianceReporteremituje strukturalny rekord JSON na każde zdarzenie znacznika języka PDF/UA-2, z naruszającym znacznikiem, czytelnym maszynowo powodem, sparsowanymi komponentami znacznika, odniesieniem do ISO 14289-2 §8.4.4 oraz znacznikiem czasu.ConformancePolicydomyślnie stosuje ścisłą obsługę języka UA-2 i zawodzi bezpiecznie (fail-closed), gdy zniekształcony lub niezarejestrowany znacznik BCP-47 trafia do/Lang. Łagodna rezygnacja jest wycofana (deprecated) i zostaje usunięta w następnym wydaniu głównym.EInvoiceValidatorwykrywa profil, uruchamia silnik reguł biznesowych EN 16931 oraz przebieg Schematron, a następnie zwracaEInvoiceValidationResult. Nie jest walidatorem urzędu skarbowego; rozszerzenia krajowe są poza zakresem, a wystawca pozostaje odpowiedzialny zgodnie z EN 16931-1.FacturXEmbedderwytwarza hybrydowy dokument PDF/A-3 z dołączonym XML Factur-X.C2paManifestEmbedderosadza lub wyodrębnia dostarczony przez wywołującegoManifestStore; nie syntezuje ani nie podpisuje twierdzeń.- Ten moduł raportuje to, co sprawdza. Nie certyfikuje dokumentu ani nie gwarantuje dostateczności regulacyjnej.
Nota o granicy Enterprise
Dział zatytułowany „Nota o granicy Enterprise”Compliance w Pro obejmuje raportowanie znaczników języka, sprawdzanie EN 16931 / Factur-X / ZUGFeRD oraz osadzanie/wyodrębnianie manifestów C2PA. Rozszerzone profile archiwalne i podpisów oraz podpisywanie twierdzeń C2PA z pieczą nad kluczem to kwestie poziomu Enterprise, udokumentowane osobno i nieobsługiwane przez ten moduł.
Rozwiązanie awaryjne / alternatywa w Core
Dział zatytułowany „Rozwiązanie awaryjne / alternatywa w Core”Nie istnieje odpowiednik w Core dla raportowania znaczników języka, obsługi e-faktur ani osadzania manifestów C2PA. To dodatki Pro.
Granica publikacji
Dział zatytułowany „Granica publikacji”Ta strona dokumentuje wyłącznie zachowanie obserwowalne zewnętrznie oraz obsługiwaną publiczną powierzchnię API. Wewnętrzne ścieżki przestrzeni nazw, klasy pomocnicze, tabele mechanizmów, nazwy plików runbooków oraz prefiksy zgłoszeń są poza zakresem.
Zobacz też
Dział zatytułowany „Zobacz też”- Security — podpisywanie i redakcja.
- Enterprise editions — rozszerzone profile archiwalne i podpisów.
- Specifications — indeks przywołanych standardów.
- Compliance — Deep Reference — pełna powierzchnia klas i metod.