(2) XML2PDF
Programma per applicazione foglio di stile senza supporto del browser
CONTINUA QUI
https://www.iprogrammatori.it/forum-programmazione/fatturazione-elettronica/fatturazione-elettronica-b2b-programmeli-xml2pdf-t37541.html
Lo si può vedere qui (0.9k)
https://ufile.io/r4el
SHA1: 36ab188ee2f1350181e5be11147c2fe14cfdeb4e
essenzialmente "se ne frega" dell'XSL presente, o meno, nel file, applica il suo.
La versione 0.2 può essere usata a riga di comando con esattamente 3 parametri
xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf"
La versione 0.3 può "iniettare" il PDF dentro l'XML.
In questo demo viene creato un nuovo file (nel caso va rinominato).
Quando OK ovviamente si può sovrascrivere il file iniziale
La versione 0.4, durante la conversione a riga di comando, è "silente"
La versione 0.5 consente di fare l'iniezione a riga di comando, con 4 nomi file
nomexml nomexsl nomepdf nomexmliniettato
La versione 0.6 toglie le firme p7m usando openssl.exe (anche a più file).
"Spacchetta" una PEC EML di una fattura elettronica
La versione 0.7 contiene l'inizio della decodifica fattura, per importazione in db mysql, con creazione di report
(... stile assoinvoice, ma più bello )
Sta insieme davvero con lo "sputo", ho dovuto simulare un server mysql inesistente, e non mi sono impegnato più di tanto, lo scopo è migliorare il decodificatore, non il resto
Versione 0.8 inizia ad avere una vaga interfaccia a riga di comando.
Per ora
1 filein.xml(.p7m) fileout.pdf
converte filein.xml eventualmente .p7m in fileout.pdf, applicando XSL ade
1 filein.xml(.p7m) template.xsl fileout.pdf
converte filein in fileout.pdf, applicando un XSL fornito
2 filein.xml(.p7m) template.xsl fileout.pdf scritto.xml
converte filein.xml eventualmente .p7m in fileout.pdf, applicando XSL fornito
inietta in scritto.xml il fileout.pdf
3 filein.eml cartellaoutput
spacchetta EML PEC in cartella output, con file rapporto.txt.
per ora apre la cartella (per comodità)
versione 0.9
innanzitutto c'è una specie di help
xml2pdf.exe ?
Poi questi sono i comandi correnti.
E sì, rimangono i numerini
versione 0.9a
A riga di comando il
5 (conversione con report).
Inoltre è possibile il drag and drop di
- p7m (li toglie)
- eml (spacchetta PEC, ancora da rifinire)
- xml (converte in PDF col report)
Xml2pdf.exe 1 c:\filediprova.xml z:\convertito.pdf
Converte un file .xml (o .xml.p7m) in PDF applicando XSL dell’agenzia entrate
Xml2pdf.exe 1 c:\filediprova.xml “c:\lamiafatturastraordinaria.xsl” z:\convertito.pdf
Converte un file .xml (o .xml.p7m) in PDF applicando XSL indicato dall’utente
Xml2pdf.exe 2 c:\filettone.xml.p7m f:\zarc\ihsv\xml2pdf\1.xsl z:\inject.pdf z:\inettato.xml
Converte un file .xml (o .xml.p7m) in PDF applicando XSL indicato dall’utente e inietta nel file xml (ultimo parametro) il PDF codificato come attachment
Xml2pdf.exe 3 c:\lamiapec.eml z:\spacchettata
Spacchetta una PEC EML all’interno di una cartella, convertendo in PDF con XSL e report, mette eventuali allegati (attachment) anche zippati, più crea rapporto.txt con dentro i dati (può essere parsato da terzi)
Xml2pdf.exe 4 c:\*.p7m z:\toltefirme
Toglie le firme digitali CAdES (p7m) da uno o più file in cartella specificata
Xml2pdf.exe 5 c:\prova.xml z:\convertito.pdf
Converte un xml (o .xml.p7m) in PDF con applicazione di un report
Xml2pdf.exe 6
Attiva l’editor del report
Xml2pdf.exe 7 da fare (a breve)
Carica in un db mysql il contenuto di un xml (.p7m)
Trascinamento (drag and drop) nella finestra
p7m => estrazione file contenuti. Se esiste già un file senza estensione p7m non sovrascrive
eml => attiva spacchettamento PEC
xml => converte in PDF con report
versione 0.9c
Consente di iniettare file qualsiasi negli XML.
Attenzione: da GUI sovrascrive il file iniziale senza pietà (dovrei sistemare. ma anche no)
Da riga di comando invece salva in file diverso
Firma massiva con token USB senza chiedere il PIN.
Necessita licenza tfirmo (0.2)
Xml2pdf.exe 7 c:\filettone.xml.p7m c:\pippo\filedainiettare.zip z:\inettato.xml
Inietta nel file .xml (o .xml.p7m) un file e scrive un xml
Xml2pdf.exe 8 12345678 “COMMON NAME” z:\*.xml
Applica firma CAdES (p7m) a tutti i file z:\*.xml, col PIN indicato (12345678 nell’esempio) col
certificato COMMON NAME”. Tipicamente è COGNOME NOME. Testato con token USB Aruba
versione 0.9
Inizio porting riconoscimento "intelligente" (per modo di dire) dei file EML.
In sostanza discrimina tra
- fatture passive (PEC ricevute)
- fatture attive (PEC inviata)
- fatture attive, ricevuta di accettazione
- fatture attive, ricevuta di consegna
- fatture attive, ricevuta di mancata consegna PEC
- fatture attive, notifiche di scarto (da approfondire)
Tolta la funzionalità "matrioska" (per ora), cioè l'interpretazione dei messaggi inoltrati (già abbastanza complicato così).
Per il riconoscimento dei propri messaggi nell'oggetto va indicato qualcosa fatto così
FEL_INVIO_|ITCDEFGH12B46H234Z_00003|
---
In sostanza se invio una fattura con quell'oggetto, poi caricando gli EML di qualsiasi tipo (almeno una volta terminato) il programma "interpreta" i vari casi, creando un file di testo con dentro il risultato.
Ovviamente il passo successivo sarà caricare gli EML da POP3 o IMAP (o da trascinamento thunderbird), invece che da file, per terminare la gestione dei messaggi.
---
Versione 0.9e.
Comando
9, cerca una partita IVA (IT) e scrive sul file pivaz.txt il risultato
Versione 0.9f
Ri-portato da programma.
Probabilmente non funzionerà più nulla, ma è normale
Versione 0.9g
Aggiunto mini-db grosso modo portabile (forse),
così da poter portare più funzioni man mano
Versione 0.9k
Database più o meno SQL anche senza mysql
Decifrazione codici QR dell'agenzia entrate, anche su PDF
Portate più porzioni programma.
Iniezione 2.1.2.2
tolti (dipendenze)
decodifica sconti
buona parte decodifica PEC e ricevute