Una conformità da consegnare a un auditor
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
In sintesi
Sezione intitolata “In sintesi”Un auditor non vuole sentirsi dire che un documento è conforme. Vuole che gli si consegnino due cose: il documento e il risultato di una verifica che lo attesti. Questa pagina riguarda la produzione di entrambi con NextPDF — un output conforme e un risultato di validazione da mettere davanti a chi lo chiede.
Il core open source produce output archivistico PDF/A e firme baseline PAdES, e valida la conformità — PDF/A, PDF/UA e firme. Le edizioni avanzate estendono la portata alla validazione a lungo termine e alla fatturazione elettronica. In tutto questo vale una sola regola: la conformità è il verdetto di un verificatore, non una promessa che il produttore possa esprimere.
Perché è importante
Sezione intitolata “Perché è importante”Il lavoro sulla conformità ha un segnale rivelatore. Qualcuno dice «sì, è conforme», e poi nella stanza cala il silenzio, perché nessuno sa produrre ciò che lo dimostri. Il documento sembra a posto. La libreria è autorevole. Niente di tutto questo è una prova.
Il costo di quel divario è asimmetrico. Un file che appare soltanto conforme supera la revisione di oggi e fallisce una verifica esterna mesi dopo — presso un’autorità fiscale, in un archivio a lungo termine o in tribunale — quando il contesto originale non c’è più e il guasto è costoso da spiegare. Gli standard hanno previsto esattamente questo. Un file PDF/A registra nei suoi metadati il profilo di destinazione, ma quell’identificazione dichiara l’intenzione del produttore; la determinazione della conformità è compiuta da un processo di validazione esterno al software produttore (Spec: ISO 19005-4 (PDF/A-4), §6.7.3ISO 19005-4 (PDF/A-4) §6.7.3). Il formato stesso ti dice che il produttore non ha l’ultima parola.
In breve
Sezione intitolata “In breve”- Si può produrre un output conforme E un risultato che attesti la conformità. Non un’asserzione — un artefatto più una verifica.
- Il core copre i casi comuni. Produce output archivistico PDF/A e firme PAdES B-B / B-T, e valida la conformità per PDF/A, PDF/UA e firme.
- La conformità è il verdetto di un validatore, riferito a uno standard, una clausola e un livello. NextPDF dichiara il profilo e il livello a cui mira, mai un «conforme» senza qualificazioni (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1).
- Le edizioni avanzate estendono la portata. La validazione a lungo termine (PAdES B-LT / B-LTA) e la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) sono funzionalità di livello commerciale.
- Il motore si rifiuta di simulare un verdetto. Produce un candidato ed esegue la verifica; non timbra mai un file come conforme di propria autorità.
Come lo affronta NextPDF
Sezione intitolata “Come lo affronta NextPDF”L’approccio è un’unica separazione netta, applicata ovunque: produrre l’artefatto che uno standard definisce è una capacità; decidere che l’artefatto è conforme è un verdetto. NextPDF ti dà la prima e ti lascia ottenere il secondo da un verificatore. Non li confonde mai.
È quella separazione a rendere consegnabile l’output. Una firma è il caso più chiaro. Il suo valore è calcolato su un intervallo di byte dichiarato che esclude deliberatamente la firma stessa (Spec: ISO 32000-2, §12.8ISO 32000-2 §12.8), che è esattamente il motivo per cui la validità è qualcosa che una terza parte può ricalcolare dal file anziché accettare sulla fiducia. Il compito del produttore è scrivere correttamente quella struttura. Il compito del validatore è confermarla. Due compiti, due parti, e la seconda è quella di cui un auditor si fida.
Così il workflow che si consegna ha quattro mosse, e la terza è quella che trasforma «dovrebbe essere conforme» in «lo è».
- 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.
Il passaggio centrale non è un ornamento. Quando la modalità archivistica è attiva e si tenta un’operazione incompatibile — attivare la cifratura, per esempio — il motore solleva un errore tipizzato invece di degradare il file in un documento «archivistico» non conforme. Rifiutare a voce alta è ciò che mantiene il candidato abbastanza onesto da superare la verifica che segue.
E la verifica è graduata, mai un singolo bit. PAdES è strutturato per livelli: B-B, B-T, B-LT e B-LTA, ciascuno aggiunge al precedente (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1). Una firma B-T porta con sé una marca temporale attendibile che B-B non ha. Un’asserzione che nomina il livello è un’asserzione onesta; un semplice «firmato» non lo è. NextPDF obbliga a nominare il livello, così il risultato che si consegna dice esattamente che cosa è stato ottenuto.
Esempio pratico
Sezione intitolata “Esempio pratico”Una forma breve e completa. Produce un candidato, lo valida e tratta la risposta del validatore come evidenza — mai la chiamata produttrice.
<?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;}La variabile si chiama $candidate di proposito, e il report è il valore di
ritorno di proposito. Il documento è ciò che hai prodotto; il report è ciò che
lo dimostra. Un auditor ti ha chiesto di dimostrare la conformità — quindi gli
dai la dimostrazione, non la parola del produttore.
Equivoco comune
Sezione intitolata “Equivoco comune”L’equivoco che riempie gli archivi di file non conservati e le caselle di posta di fatture rifiutate è semplice: «la libreria dice PDF/A, quindi il file è PDF/A.» Non spetta alla libreria emettere quel verdetto. Un produttore può emettere un file con l’intenzione di essere conforme e mancare comunque un requisito normativo; solo un processo di validazione trasforma l’intenzione in una determinazione. Trattare la chiamata produttrice come prova è l’errore fondamentale, ed è esattamente l’errore che un auditor è addestrato a cogliere.
Una seconda trappola, più sottile, è interpretare «NextPDF è conforme agli standard» come un’unica garanzia totale. Una cosa simile non esiste, e nessun motore onesto la offre. La conformità è per standard, per clausola e per livello. L’asserzione corretta nomina quale profilo, quale livello, e mostra la verifica. Un’asserzione priva di tutto ciò è marketing, e Insider_ non la stampa.
Limiti e confini
Sezione intitolata “Limiti e confini”- NextPDF produce un candidato conforme e lo valida; non certifica la conformità. Il report del validatore è l’evidenza. La libreria produttrice non emette mai un proprio certificato.
- La validazione è il risultato di un verificatore, non una garanzia assoluta. Un’esecuzione pulita significa che il file ha soddisfatto i requisiti che il validatore ha verificato, rispetto all’edizione dello standard che implementa. È l’evidenza più solida disponibile, non una prova metafisica.
- La portata del core è l’output archivistico PDF/A e le firme PAdES B-B / B-T, più la validazione di conformità per PDF/A, PDF/UA e firme. Non fornisce silenziosamente le funzionalità delle edizioni avanzate.
- La validazione a lungo termine (B-LT / B-LTA) e la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) sono funzionalità delle edizioni avanzate. EN 16931-1 definisce il modello semantico di fattura rispetto a cui il payload è validato (Spec: EN 16931-1, ScopeEN 16931-1 Scope); onorarlo è livello commerciale, non core.
- L’efficacia giuridica è una questione distinta dalla conformità tecnica. Se una firma sia giuridicamente sufficiente in una giurisdizione lo decidono la legge e l’autorità ricevente, non un validatore. NextPDF parla del risultato tecnico; il tuo team di conformità parla del suo peso giuridico.
| Edition | Availability |
|---|---|
| Core | Produce output archivistico PDF/A e firme PAdES B-B / B-T, e valida la conformità per PDF/A, PDF/UA e firme. Sia l’output sia il risultato della validazione sono disponibili da consegnare. |
| Pro | Aggiunge la validazione a lungo termine — PAdES B-LT / B-LTA — incorporando le prove di revoca e le marche temporali di documento che mantengono una firma verificabile dopo la scadenza del certificato. |
| Enterprise | Aggiunge la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) e una policy e un report di conformità strutturale — sempre una verifica strutturale, con la determinazione finale che spetta a un validatore e al tuo team di conformità. |
Gli strumenti di conformità più approfonditi, e il confine di conformità citato per ogni funzionalità delle edizioni avanzate, vivono nella pagina conformità e conformance. Quando occorre eseguire la verifica, la guida risoluzione dei problemi di validazione PDF/A e PDF/UA illustra come leggere e correggere un report che fallisce.
Documenti correlati
Sezione intitolata “Documenti correlati”- Archiviazione e PDF/A — che cosa garantisce PDF/A, e perché dimostrare la conformità è un lavoro distinto dal produrla.
- Validare correttamente una firma — l’insieme completo delle verifiche dietro «la firma è valida».
- Lo scenario degli standard — la mappa degli enti normativi e di come una clausola diventa comportamento testato.
- Profili baseline PAdES — B-B, B-T, B-LT e B-LTA come progressione, e come scegliere il livello che l’obbligo richiede.
- Fatture e fatturazione elettronica — la fattura ibrida PDF / dati strutturati rispetto a EN 16931, dall’inizio alla fine.
Glossario
Sezione intitolata “Glossario”- Conformità — l’accordo di un file con i requisiti normativi di uno standard, come deciso da un processo di validazione, riferito a uno standard, una clausola e un livello specifici.
- Candidato — un file prodotto con l’intenzione di essere conforme, prima che un validatore indipendente abbia confermato che lo è.
- Validatore / conformance checker — software indipendente che giudica un file rispetto ai requisiti di uno standard e produce il risultato su cui un auditor fa affidamento.
- PDF/A — la famiglia ISO 19005: un profilo PDF vincolato per la conservazione a lungo termine, progettato per riprodurre nel tempo l’aspetto statico di un documento.
- PDF/UA — la famiglia ISO 14289: il profilo di accessibilità che definisce come un PDF taggato veicola la struttura alla tecnologia assistiva.
- PAdES — PDF Advanced Electronic Signatures, la famiglia ETSI EN 319 142 di profili di firma (B-B, B-T, B-LT, B-LTA) che ISO 32000-2 richiama per la firma dei PDF.
- EN 16931 — lo standard europeo che definisce il modello semantico di dati di una fattura elettronica di base, l’obbligo rispetto a cui un payload di fattura elettronica ibrida viene verificato.