Zgodność, którą możesz przekazać audytorowi
Spec: ISO 19005-4 (PDF/A-4)ISO 19005-4 (PDF/A-4)Spec: ISO 32000-2ISO 32000-2Spec: ETSI EN 319 142-1ETSI EN 319 142-1Spec: EN 16931-1EN 16931-1
W skrócie
Dział zatytułowany „W skrócie”Audytor nie chce usłyszeć, że dokument jest zgodny. Chce, by wręczono mu dwie rzeczy: dokument oraz wynik kontroli, która to potwierdza. Ta strona jest o wytworzeniu obu za pomocą NextPDF — zgodnego wyjścia oraz wyniku walidacji, który możesz położyć przed osobą, która o to pyta.
Otwartoźródłowy rdzeń tworzy archiwalne wyjście PDF/A oraz podpisy bazowe PAdES, a także waliduje zgodność — PDF/A, PDF/UA oraz podpisy. Zaawansowane edycje rozszerzają ten zasięg o walidację długoterminową i e-fakturowanie. W całości obowiązuje jedna reguła: zgodność to werdykt narzędzia weryfikującego, a nie obietnica, którą może złożyć producent.
Dlaczego to ma znaczenie
Dział zatytułowany „Dlaczego to ma znaczenie”Praca nad zgodnością ma swój zdradliwy moment. Ktoś mówi „tak, to jest zgodne”, a potem w pokoju zapada cisza, bo nikt nie potrafi przedstawić rzeczy, która to udowadnia. Dokument wygląda poprawnie. Biblioteka cieszy się dobrą opinią. Nic z tego nie jest dowodem.
Koszt tej luki jest asymetryczny. Plik, który tylko sprawia wrażenie zgodnego, przechodzi dzisiejszą weryfikację, a oblewa zewnętrzną kontrolę miesiące później — w urzędzie skarbowym, w archiwum długoterminowym lub w sądzie — gdy pierwotny kontekst już zniknął, a wyjaśnienie usterki jest kosztowne. Standardy przewidziały to dokładnie. Plik PDF/A zapisuje swój docelowy profil w swoich metadanych, ale ta identyfikacja wyraża intencję producenta; ustalenie zgodności wykonuje proces walidacji poza oprogramowaniem generującym (Spec: ISO 19005-4 (PDF/A-4), §6.7.3ISO 19005-4 (PDF/A-4) §6.7.3). Sam format mówi ci, że producent nie ma ostatniego słowa.
Wersja skrócona
Dział zatytułowany „Wersja skrócona”- Możesz wytworzyć zgodne wyjście ORAZ wynik, który potwierdza, że jest zgodne. Nie deklarację — artefakt plus kontrolę.
- Rdzeń obejmuje typowe przypadki. Tworzy archiwalne wyjście PDF/A oraz podpisy PAdES B-B / B-T, a także waliduje zgodność dla PDF/A, PDF/UA oraz podpisów.
- Zgodność to werdykt walidatora, ograniczony do standardu, klauzuli i poziomu. NextPDF podaje profil i poziom, do którego zmierza, nigdy zaś bezwarunkowe „zgodne” (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1).
- Zaawansowane edycje rozszerzają ten zasięg. Walidacja długoterminowa (PAdES B-LT / B-LTA) oraz e-fakturowanie (ZUGFeRD / Factur-X względem EN 16931) to możliwości warstwy komercyjnej.
- Silnik odmawia sfałszowania werdyktu. Tworzy kandydata i przeprowadza kontrolę; nigdy nie stempluje pliku jako zgodnego na podstawie własnego autorytetu.
Jak podchodzi do tego NextPDF
Dział zatytułowany „Jak podchodzi do tego NextPDF”Podejście opiera się na jednym czystym rozdzieleniu, stosowanym wszędzie: wytworzenie artefaktu, który definiuje standard, to możliwość; rozstrzygnięcie, że artefakt jest zgodny, to werdykt. NextPDF daje ci to pierwsze i pozwala uzyskać to drugie od narzędzia weryfikującego. Nigdy nie miesza tych dwóch.
To rozdzielenie sprawia, że wyjście nadaje się do przekazania. Podpis to najjaśniejszy przypadek. Jego wartość jest obliczana nad zadeklarowanym zakresem bajtów, który celowo wyklucza sam podpis (Spec: ISO 32000-2, §12.8ISO 32000-2 §12.8), i właśnie dlatego ważność to coś, co strona trzecia może przeliczyć ponownie z pliku, zamiast przyjmować na wiarę. Zadaniem producenta jest poprawne zapisanie tej struktury. Zadaniem walidatora jest jej potwierdzenie. Dwa zadania, dwie strony, a tej drugiej ufa audytor.
Tak więc przepływ pracy, który przekazujesz, ma cztery kroki, a ten trzeci zamienia „powinno być zgodne” w „jest”.
- Produce a candidateGenerate PDF/A archival output or a PAdES signature with the conformance-relevant structure in place — embedded fonts, declared profile, a signature over a correct byte range.
- Refuse the impossibleThe engine rejects conformance-breaking combinations (an encrypted PDF/A, a signature level it cannot honor) rather than emitting a file that silently does not conform.
- Validate independentlyRun a conformance checker — PDF/A, PDF/UA, signature. A passing report is the evidence; the producing library is not.
- Hand over bothGive the auditor the document and the validation result together. The verdict travels with the artifact.
Środkowy krok to nie ozdoba. Gdy tryb archiwalny jest włączony i podjęta zostaje niezgodna operacja — na przykład włączenie szyfrowania — silnik zgłasza typowany błąd, zamiast obniżać plik do niezgodnego dokumentu „archiwalnego”. Głośna odmowa to właśnie to, co utrzymuje kandydata na tyle uczciwym, by przeszedł kontrolę, która następuje później.
A kontrola jest stopniowa, nigdy nie sprowadza się do pojedynczego bitu. PAdES jest z założenia podzielony na poziomy: B-B, B-T, B-LT i B-LTA — każdy dodaje do poprzedniego (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1). Podpis B-T niesie zaufany znacznik czasu, którego B-B nie ma. Deklaracja, która nazywa poziom, jest uczciwa; gołe „podpisany” nie jest. NextPDF każe ci nazwać poziom, więc wynik, który przekazujesz, mówi dokładnie, co osiągnięto.
Przykład praktyczny
Dział zatytułowany „Przykład praktyczny”Krótki, kompletny kształt. Tworzy kandydata, waliduje go i traktuje odpowiedź walidatora jako dowód — nigdy zaś wywołanie generujące.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;use NextPDF\Conformance\ConformanceValidator;use NextPDF\Conformance\ConformanceTarget;use NextPDF\Conformance\ValidationReport;
/** * Produce a candidate, then prove it with an independent check. * * The producing call returns bytes that SHOULD conform. Only the * validator's report turns "should" into something an auditor accepts. * * @param PdfDocumentInterface $candidate A document composed for archival * (fonts embedded, profile declared) */function archivalEvidence( PdfDocumentInterface $candidate, ConformanceValidator $validator,): ValidationReport { // 1. The producing call states intent; it does not certify. $bytes = $candidate->getPdfData();
// 2. The check is the verdict. Conformance is decided here, by the // validator, against the named target — not by the line above. $report = $validator->validate($bytes, ConformanceTarget::PdfA);
// 3. Hand BOTH over: the bytes plus the report. The report names the // target, the level, and every requirement that was checked. return $report;}Zmienna nosi nazwę $candidate celowo, a raport jest wartością zwracaną
celowo. Dokument to coś, co wytworzyłeś; raport to coś, co to udowadnia. Audytor
poprosił cię o wykazanie zgodności — więc dajesz mu wykazanie, a nie słowo
producenta.
Częste nieporozumienie
Dział zatytułowany „Częste nieporozumienie”Nieporozumienie, które wypełnia archiwa niezachowanymi plikami, a skrzynki odbiorcze odrzuconymi fakturami, jest proste: „biblioteka mówi PDF/A, więc plik jest plikiem PDF/A.” Taki werdykt nie należy do biblioteki. Producent może wytworzyć plik mający być zgodny i nadal pominąć normatywny wymóg; dopiero proces walidacji zamienia intencję w ustalenie. Traktowanie wywołania generującego jako dowodu to podstawowy błąd, i to dokładnie ten błąd, który audytor jest wyszkolony wychwytywać.
Druga, subtelniejsza pułapka to odczytywanie „NextPDF jest zgodny ze standardami” jako jednej całościowej gwarancji. Coś takiego nie istnieje i żaden uczciwy silnik tego nie oferuje. Zgodność jest dla danego standardu, danej klauzuli i danego poziomu. Właściwa deklaracja nazywa profil, poziom i pokazuje kontrolę. Deklaracja bez tego to marketing, a Insider_ go nie publikuje.
Ograniczenia i granice
Dział zatytułowany „Ograniczenia i granice”- NextPDF tworzy zgodnego kandydata i waliduje go; nie certyfikuje zgodności. Dowodem jest raport walidatora. Biblioteka generująca nigdy nie wydaje własnego certyfikatu.
- Walidacja to wynik narzędzia weryfikującego, a nie absolutna gwarancja. Czysty przebieg oznacza, że plik spełnił wymagania, które sprawdził walidator, względem wydania standardu, które on implementuje. To najmocniejszy dostępny dowód, a nie metafizyczny pewnik.
- Zasięg rdzenia to archiwalne wyjście PDF/A oraz podpisy PAdES B-B / B-T, plus walidacja zgodności dla PDF/A, PDF/UA oraz podpisów. Nie udostępnia po cichu możliwości zaawansowanych edycji.
- Walidacja długoterminowa (B-LT / B-LTA) oraz e-fakturowanie (ZUGFeRD / Factur-X względem EN 16931) to możliwości zaawansowanych edycji. EN 16931-1 definiuje semantyczny model faktury, względem którego waliduje się nośnik danych (Spec: EN 16931-1, ScopeEN 16931-1 Scope); honorowanie go to warstwa komercyjna, a nie rdzeń.
- Skutek prawny to osobne pytanie niż zgodność techniczna. O tym, czy podpis jest prawnie wystarczający w danej jurysdykcji, rozstrzyga prawo i organ przyjmujący, a nie walidator. NextPDF wypowiada się o wyniku technicznym; o jego ciężarze prawnym wypowiada się twój zespół ds. zgodności.
| Edition | Availability |
|---|---|
| Core | Produces PDF/A archival output and PAdES B-B / B-T signatures, and validates conformance for PDF/A, PDF/UA, and signatures. The output and the validation result are both available to hand over. |
| Pro | Adds long-term validation — PAdES B-LT / B-LTA — embedding the revocation evidence and document timestamps that keep a signature verifiable after the certificate expires. |
| Enterprise | Adds e-invoicing (ZUGFeRD / Factur-X against EN 16931) and a structural conformance policy and report — still a structure check, with the final determination belonging to a validator and your compliance team. |
Głębsze narzędzia zgodności oraz przywołana granica zgodności dla każdej możliwości zaawansowanej edycji żyją na stronie zgodność i konformancja. Gdy potrzebujesz uruchomić kontrolę, przewodnik rozwiązywanie problemów z walidacją PDF/A i PDF/UA przeprowadza przez odczytanie i naprawienie raportu, który nie przeszedł.
Powiązane dokumenty
Dział zatytułowany „Powiązane dokumenty”- Archiwizacja i PDF/A — co gwarantuje PDF/A i dlaczego udowodnienie zgodności to osobne zadanie niż jej wytworzenie.
- Prawidłowa walidacja podpisu — pełny zestaw kontroli stojących za „podpis jest prawidłowy”.
- Krajobraz standardów — mapa organów standaryzacyjnych i tego, jak klauzula staje się przetestowanym zachowaniem.
- Profile bazowe PAdES — B-B, B-T, B-LT i B-LTA jako progresja oraz jak wybrać poziom, którego wymaga twoje zobowiązanie.
- Faktury i e-fakturowanie — hybrydowa faktura PDF / dane ustrukturyzowane względem EN 16931, od początku do końca.
Słowniczek
Dział zatytułowany „Słowniczek”- Zgodność — zgodność pliku z normatywnymi wymaganiami standardu, ustalona przez proces walidacji, ograniczona do konkretnego standardu, klauzuli i poziomu.
- Kandydat — plik wytworzony z zamiarem zgodności, zanim niezależny walidator potwierdzi, że faktycznie jest zgodny.
- Walidator / narzędzie sprawdzające zgodność — niezależne oprogramowanie, które ocenia plik względem wymagań standardu i wytwarza wynik, na którym opiera się audytor.
- PDF/A — rodzina ISO 19005: ograniczony profil PDF do długoterminowego przechowywania, zaprojektowany tak, by odtwarzać statyczny wygląd dokumentu w czasie.
- PDF/UA — rodzina ISO 14289: profil dostępności, który definiuje, jak oznakowany plik PDF przekazuje strukturę technologii wspomagającej.
- PAdES — PDF Advanced Electronic Signatures, rodzina profili podpisu ETSI EN 319 142 (B-B, B-T, B-LT, B-LTA), do których ISO 32000-2 odwołuje się przy podpisywaniu PDF.
- EN 16931 — europejski standard definiujący semantyczny model danych podstawowej faktury elektronicznej, zobowiązanie, względem którego sprawdza się nośnik danych hybrydowej e-faktury.