Download the PHP package controlaltjeff/p7m-fattura-decoder without Composer
On this page you can find all versions of the php package controlaltjeff/p7m-fattura-decoder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download controlaltjeff/p7m-fattura-decoder
More information about controlaltjeff/p7m-fattura-decoder
Files in controlaltjeff/p7m-fattura-decoder
Package p7m-fattura-decoder
Short Description PHP library per decodificare file PKCS#7 (.p7m) ed estrarre il contenuto XML.
License MIT
Informations about the package p7m-fattura-decoder
P7M Decoder — PHP Fattura Elettronica PKCS#7
PHP library per decodificare file .p7m (PKCS#7 signed) ed estrarre il contenuto XML. Progettata per la Fattura Elettronica italiana ma funziona con qualsiasi file P7M.
Indice
- Installazione
- Requisiti
- Utilizzo rapido
- API
- Come funziona
- Casi d'uso
- Sviluppo
- Contribuire
- Licenza
Installazione
Requisiti
- PHP 5.3+ (runtime) / PHP 8.1+ (strumenti di sviluppo)
ext-dom,ext-libxml(sempre richieste)ext-openssl(consigliata — usata come strategia di decodifica primaria)opensslCLI (opzionale — usato per la verifica DER/PEM)
Nota per ambienti PHP 5.3/7.x: gli strumenti di sviluppo (PHPUnit, PHPStan) richiedono PHP 8.1+. Installa con
--no-devper evitare conflitti:
Utilizzo rapido
API
P7MDecoder::decodeFile(string $path): ?string
Decodifica un file .p7m e restituisce il suo contenuto XML, oppure null in caso di errore.
P7MDecoder::decodeString(string $content): ?string
Decodifica contenuto P7M da una stringa (DER, PEM, Base64, o XML valido).
P7MDecoder::getLastCorrections(): array
Restituisce la lista delle correzioni ai tag applicate durante l'ultimo'operazione di decodifica.
Come funziona
La libreria tenta la decodifica usando 8 strategie in ordine, fermandosi al primo successo:
| # | Strategia | Descrizione |
|---|---|---|
| 1 | Plain XML | Se il contenuto e' gia' XML valido, lo restituisce direttamente |
| 2 | OpenSSL DER | openssl smime -verify -inform DER |
| 3 | Base64 → DER | Decodifica Base64 + verifica DER |
| 4 | OpenSSL PEM | openssl smime -verify -inform PEM (include conversione Base64 → PEM) |
| 5 | PHP openssl_pkcs7_verify() | Fallback via estensione PHP |
| 6 | Estrazione manuale | Ricerca fragment XML nel binario |
| 7 | Correzione tag | Ricerca fuzzy (Levenshtein) su tag XML danneggiati |
| 8 | Base64 + estrazione manuale | Decodifica Base64 + fragment XML |
Correzioni automatiche
Oltre alla decodifica, la libreria applica correzioni automatiche su:
- Tag XML — Correzione fuzzy con distance ≤ 1 rispetto alla lista tag FatturaPA validi
- Errori OCR/encoding — 30+ pattern di correzione per errori tipici di OCR e trasmissione:
UnitaMisurah→UnitaMisuraDettHaglioLinee→DettaglioLineeQuant2ita→Quantita- e molti altri...
Le correzioni applicate sono accessibili via P7MDecoder::getLastCorrections().
Casi d'uso
Elaborare file FatturaPA ricevuti dal SDI
Elaborare piu' file
Gestire file danneggiati da OCR
Sviluppo
Per mutation testing (richiede pcov o xdebug):
Contribuire
I contributi sono ben accetti! Consulta CONTRIBUTING.md per le linee guida.
Licenza
Licenza MIT. Vedi LICENSE per i dettagli.
All versions of p7m-fattura-decoder with dependencies
ext-dom Version *
ext-libxml Version *