Salta ai contenuti
getnextpdf.com

Pro edizione

Conformità

NextPDF Pro segnala gli eventi sui tag di lingua PDF/UA-2, convalida e incorpora XML di fatturazione elettronica Factur-X / ZUGFeRD e incorpora o legge manifest store C2PA. Queste funzionalità producono report e risultati strutturati. Non certificano un documento né garantiscono la sufficienza normativa.

Questa funzionalità è inclusa in NextPDF Pro (nextpdf/pro) e si attiva con un license envelope di fascia Pro. Un deployment privo di tale entitlement non carica le classi della funzionalità. Compliance fa parte dell’edizione Pro; non esiste un flag di licenza separato per funzionalità. Confrontare le edizioni e ottenere una licenza.

Terminal window
composer require nextpdf/pro:^3

Il modulo Compliance ha tre superfici indipendenti.

Segnalazione dei tag di lingua. LangComplianceReporter emette un record JSON strutturato per ogni evento sui tag di lingua PDF/UA-2. Ogni record riporta il tag in errore, una ragione leggibile dalla macchina, i componenti del tag analizzati, un riferimento alla clausola ISO 14289-2 §8.4.4 e un timestamp. ConformancePolicy è una facade Premium che adotta per impostazione predefinita la gestione rigorosa della lingua UA-2: fallisce in modo chiuso quando un tag BCP-47 malformato o non registrato raggiunge la voce /Lang. Una rinuncia permissiva (ConformancePolicy::withStrictUa2(false)) ripristina il vecchio comportamento permissivo e registra un avviso. NextPDF contrassegna tale rinuncia come deprecata; usare invece l’impostazione rigorosa predefinita. La rinuncia esiste dalla v5.0 e scompare nella prossima release principale. Per migrare, verificare il proprio corpus alla ricerca di valori /Lang malformati, correggerli, quindi rimuovere la chiamata di rinuncia in modo da applicare l’impostazione rigorosa predefinita.

Gestione della fatturazione elettronica. EInvoiceValidator verifica un PDF ibrido a fronte del modello semantico dei dati EN 16931 e della specifica del contenitore Factur-X 1.08 / ZUGFeRD 2.4. Rileva il profilo, esegue il motore delle regole di business EN 16931 ed esegue una passata Schematron. Prima della convalida, estrae l’XML della fattura incorporato dal PDF — anche dai PDF a object-stream, che sono l’output predefinito di produttori comuni come Ghostscript, Gotenberg e Antenna House e che l’estrazione precedente non era in grado di leggere. L’estrattore accetta sottotipi MIME parametrizzati RFC 7303 (ad esempio text/xml; charset=UTF-8) e nomi di file incorporato come stringhe letterali ISO 32000-2, comprese le sequenze di escape. FacturXEmbedder produce un documento ibrido PDF/A-3 con l’XML Factur-X allegato. EInvoiceValidationResult riporta il profilo, la sintassi, le violazioni delle regole e i controlli sul wrapper.

Provenienza. C2paManifestEmbedder incorpora un manifest store C2PA fornito dal chiamante in una stringa di byte PDF, oppure ne estrae uno. ManifestStore è il value object immutabile che attraversa il confine. Questo punto di giunzione non sintetizza claim né risolve i binding di hash.

Che cosa significa «compliance» in questo contesto

Sezione intitolata “Che cosa significa «compliance» in questo contesto”

Questo modulo segnala ciò che verifica. Non afferma che un documento sia conforme dal punto di vista legale, certificato o legalmente vincolante, e non garantisce che alcun output soddisfi una normativa o una giurisdizione.

  • Il validatore di fatturazione elettronica verifica solo il modello semantico EN 16931 e la specifica del contenitore Factur-X / ZUGFeRD. Non è un validatore di autorità fiscale. Le estensioni nazionali — ad esempio l’SDI italiano, il Chorus Pro francese, lo XRechnung tedesco — sono fuori ambito. Come nota la stessa EN 16931-1, l’emittente della fattura è responsabile del rispetto delle regole della legislazione pertinente.
  • Il reporter dei tag di lingua produce un report degli eventi sui tag. Non rende un documento conforme.
  • L’incorporamento C2PA scrive un manifest fornito dal chiamante. Non produce né firma i claim al suo interno.

Il supporto a uno standard non equivale alla conformità a esso. Consultare il proprio team di compliance per giudicare la sufficienza normativa per il proprio uso.

La decisione portante è una linea netta tra il verificare e il certificare. Ogni superficie restituisce prove — un report, un risultato di convalida, un manifest incorporato — mai l’affermazione che un documento sia conforme dal punto di vista legale. Questo mantiene onesto il punto di giunzione tra le edizioni. ConformancePolicy fallisce in modo chiuso su un tag /Lang malformato e C2paManifestEmbedder non firma mai i claim che trasporta. EInvoiceValidator::validate() restituisce un EInvoiceValidationResult; un isValid() verde è un input alla propria decisione, non un verdetto da consegnare a un regolatore senza ulteriori verifiche. Le prove si compongono con i propri controlli invece di sostituirli, così restano veritiere anche quando l’input è ostile.

Contesto di progettazione: Una compliance da consegnare a un revisore.

ClasseResponsabilità
LangComplianceReporterEmettere record strutturati degli eventi sui tag di lingua.
ConformancePolicyFacade della policy rigorosa di lingua UA-2 Premium.
EInvoiceValidatorVerificare EN 16931 / Factur-X / ZUGFeRD; restituire un risultato.
EInvoiceValidationResultProfilo, sintassi, violazioni delle regole, controlli sul wrapper.
FacturXEmbedderProdurre un documento ibrido PDF/A-3 + XML Factur-X.
C2paManifestEmbedderIncorporare o estrarre un manifest store C2PA.
ManifestStoreValue object immutabile del manifest store 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.
  • Un PDF ben formato ma non Factur-X restituisce un risultato «non è una fattura elettronica» anziché sollevare un’eccezione.
  • L’estrattore XML legge i PDF a object-stream (l’output predefinito di Ghostscript, Gotenberg e Antenna House) e accetta sottotipi MIME parametrizzati RFC 7303 e nomi di file come stringhe letterali ISO 32000-2. Si tratta di estrazione di compatibilità per output di produttori conformi, non di convalida autorevole degli allegati a fronte di input ostili — l’attivazione completa della xref per endpoint pubblici avversi è un confine differito documentato. Trattare di conseguenza l’estrazione da fonti non attendibili.
  • Un elenco vuoto di violazioni delle regole di business non significa di per sé che il documento sia valido; si applicano anche i controlli sul wrapper e sugli allegati.
  • NextPDF deprecca la rinuncia permissiva al rigore UA-2; migrare all’impostazione rigorosa predefinita (vedere Panoramica concettuale). Scompare nella prossima release principale.

Il costo della convalida scala con la dimensione dell’XML incorporato e con il numero di regole. La segnalazione dei tag di lingua è costante per evento.

Tutte le analisi XML disabilitano la risoluzione delle entità esterne (XXE-safe) e delimitano la decompressione. Trattare come ostili l’XML di fatturazione elettronica e i byte C2PA provenienti da fonti non attendibili.

L’XML di fatturazione elettronica può contenere dati personali e finanziari. L’elaborazione è in-process e locale; il modulo non effettua alcuna chiamata di rete in uscita per la convalida. Applicare i propri controlli di conservazione e minimizzazione all’XML estratto e ai report.

I record del reporter e i log di convalida possono includere valori dei tag e identificatori di regola. Non includono i payload completi delle fatture. Sanificare o oscurare i valori dei tag prima di inoltrare i log a sink condivisi se tali valori sono sensibili.

ComportamentoRiferimentoStato
Dichiarazione della lingua naturale (/Lang)ISO 14289-2:2024 §8.4.4Verificato / segnalato
Modello semantico di base della fatturaEN 16931-1:2026Verificato (l’emittente resta responsabile)
Manifest store C2PA / JUMBFC2PA 2.1 §11.1Incorporamento / estrazione supportati

Questa tabella registra le specifiche rispetto alle quali NextPDF Pro è costruito e ciò che verifica. Non costituisce una dichiarazione di certificazione o di sufficienza normativa.

Questo modulo non esegue alcuna firma crittografica. La firma dei claim C2PA e la custodia delle chiavi sono al di fuori del suo ambito; per il comportamento di firma in modalità FIPS, vedere il modulo Security.

L’XML di fatturazione elettronica e i byte C2PA non attendibili sono gli input principali. Mitigazioni: parsing XXE-safe, decompressione delimitata, nessuna sintesi di claim attraverso il punto di giunzione C2PA e nessun I/O di rete durante la convalida.

  • LangComplianceReporter emette un record JSON strutturato per ogni evento sui tag di lingua PDF/UA-2 con il tag in errore, una ragione leggibile dalla macchina, i componenti del tag analizzati, un riferimento ISO 14289-2 §8.4.4 e un timestamp.
  • ConformancePolicy adotta per impostazione predefinita la gestione rigorosa della lingua UA-2 e fallisce in modo chiuso quando un tag BCP-47 malformato o non registrato raggiunge /Lang. La rinuncia permissiva è deprecata e viene rimossa nella prossima release principale.
  • EInvoiceValidator rileva il profilo, esegue il motore delle regole di business EN 16931 e una passata Schematron, e restituisce un EInvoiceValidationResult. Non è un validatore di autorità fiscale; le estensioni nazionali sono fuori ambito e l’emittente resta responsabile ai sensi della EN 16931-1.
  • FacturXEmbedder produce un documento ibrido PDF/A-3 con l’XML Factur-X allegato. C2paManifestEmbedder incorpora o estrae un ManifestStore fornito dal chiamante; non sintetizza né firma claim.
  • Questo modulo segnala ciò che verifica. Non certifica un documento né garantisce la sufficienza normativa.

Compliance in Pro copre la segnalazione dei tag di lingua, la verifica EN 16931 / Factur-X / ZUGFeRD e l’incorporamento/estrazione di manifest C2PA. I profili estesi di archiviazione e firma, e la firma dei claim C2PA con custodia delle chiavi, sono temi di fascia Enterprise documentati separatamente e non sono forniti da questo modulo.

Non esiste alcun equivalente Core per la segnalazione dei tag di lingua, la gestione della fatturazione elettronica o l’incorporamento di manifest C2PA. Si tratta di aggiunte di Pro.

Questa pagina documenta solo il comportamento osservabile dall’esterno e la superficie API pubblica supportata. Percorsi di namespace interni, classi helper, tabelle di meccanismi, nomi di file di runbook e prefissi di ticket sono fuori ambito.