Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Extract PDF Invoice from FatturaElettronica XMLDemonstrates how to extract a PDF attachment from an XML invoice (fattura elettronica) -- ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2
load ./chilkat.dll # The XML invoice is shown at the bottom of this example. set xml [new_CkXml] set success [CkXml_LoadXmlFile $xml "qa_data/xml/fatture_invoice.xml"] if {$success != 1} then { puts [CkXml_lastErrorText $xml] delete_CkXml $xml exit } # Get the Base64 PDF content. set sb [new_CkStringBuilder] set success [CkXml_GetChildContentSb $xml "FatturaElettronicaBody|Allegati|Attachment" $sb] if {$success != 1} then { puts [CkXml_lastErrorText $xml] delete_CkXml $xml delete_CkStringBuilder $sb exit } # Decode the base64 set bd [new_CkBinData] set success [CkBinData_AppendEncodedSb $bd $sb "base64"] # Save to a PDF file. set success [CkBinData_WriteFile $bd "qa_output/fattura.pdf"] # This is the XML invoice loaded from fatture_invoice.xml # It is populated with junk information. # <?xml version="1.0" encoding="utf-8"?> # <nr1:FatturaElettronica versione="FPR12" xmlns:nr1="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"> # <FatturaElettronicaHeader> # <DatiTrasmissione> # <IdTrasmittente> # <IdPaese>IT</IdPaese> # <IdCodice>9999999999</IdCodice> # </IdTrasmittente> # <ProgressivoInvio>01E99</ProgressivoInvio> # <FormatoTrasmissione>FPR99</FormatoTrasmissione> # <CodiceDestinatario>0000000</CodiceDestinatario> # <PECDestinatario>fatture.elettroniche@pec.something.it</PECDestinatario> # </DatiTrasmissione> # <CedentePrestatore> # <DatiAnagrafici> # <IdFiscaleIVA> # <IdPaese>IT</IdPaese> # <IdCodice>9999999999</IdCodice> # </IdFiscaleIVA> # <CodiceFiscale>9999999999</CodiceFiscale> # <Anagrafica> # <Denominazione>Chilkat S.p.A.</Denominazione> # </Anagrafica> # <RegimeFiscale>RF01</RegimeFiscale> # </DatiAnagrafici> # <Sede> # <Indirizzo>Via Xyzabcde, 99/2</Indirizzo> # <CAP>40127</CAP> # <Comune>Bologna</Comune> # <Provincia>BO</Provincia> # <Nazione>IT</Nazione> # </Sede> # <IscrizioneREA> # <Ufficio>BO</Ufficio> # <NumeroREA>9999999</NumeroREA> # <CapitaleSociale>9999999999.00</CapitaleSociale> # <SocioUnico>SM</SocioUnico> # <StatoLiquidazione>LN</StatoLiquidazione> # </IscrizioneREA> # </CedentePrestatore> # <CessionarioCommittente> # <DatiAnagrafici> # <IdFiscaleIVA> # <IdPaese>IT</IdPaese> # <IdCodice>9999999999</IdCodice> # </IdFiscaleIVA> # <Anagrafica> # <Denominazione>GRUPPO ABCDEF SRL</Denominazione> # </Anagrafica> # </DatiAnagrafici> # <Sede> # <Indirizzo>VIALE ABCDEF 1</Indirizzo> # <CAP>73010</CAP> # <Comune>XYZ</Comune> # <Provincia>LE</Provincia> # <Nazione>IT</Nazione> # </Sede> # </CessionarioCommittente> # </FatturaElettronicaHeader> # <FatturaElettronicaBody> # <DatiGenerali> # <DatiGeneraliDocumento> # <TipoDocumento>ABC04</TipoDocumento> # <Divisa>EUR</Divisa> # <Data>2018-12-31</Data> # <Numero>9999999999</Numero> # <ImportoTotaleDocumento>354.71</ImportoTotaleDocumento> # <Causale>RIFERIMENTO TICKET 999999</Causale> # <Causale>FATTURA NR. 9999999999 DEL 30.09.2018</Causale> # <Causale>DIFFERENZA PREZZO</Causale> # <Causale>RIF. FORN. ABCDEF clam</Causale> # <Causale>RIF. CLIENTE: ABCDEF</Causale> # <Causale>XYZ - ABCDEF</Causale> # <Causale>Assolve gli obblighi di ... in L.27/2012</Causale> # <Causale>Contributo ambientale ABCDEF assolto</Causale> # </DatiGeneraliDocumento> # <DatiFattureCollegate> # <IdDocumento>9999999999</IdDocumento> # <Data>2018-09-30</Data> # </DatiFattureCollegate> # </DatiGenerali> # <DatiBeniServizi> # <DettaglioLinee> # <NumeroLinea>1</NumeroLinea> # <CodiceArticolo> # <CodiceTipo>Codice Art. ABC</CodiceTipo> # <CodiceValore>9999999999</CodiceValore> # </CodiceArticolo> # <CodiceArticolo> # <CodiceTipo>EAN</CodiceTipo> # <CodiceValore>9999999999</CodiceValore> # </CodiceArticolo> # <Descrizione>ABC 123 XY</Descrizione> # <Quantita>1.00</Quantita> # <UnitaMisura>NR</UnitaMisura> # <PrezzoUnitario>72.57000000</PrezzoUnitario> # <PrezzoTotale>72.57</PrezzoTotale> # <AliquotaIVA>4.00</AliquotaIVA> # <AltriDatiGestionali> # <TipoDato>DP</TipoDato> # <RiferimentoTesto>999999999 GRUPPO BLAH BLAH BLAH PL(LE)</RiferimentoTesto> # </AltriDatiGestionali> # </DettaglioLinee> # <DettaglioLinee> # <NumeroLinea>2</NumeroLinea> # <CodiceArticolo> # <CodiceTipo>Codice Art. ABCDEF</CodiceTipo> # <CodiceValore>9999999999</CodiceValore> # </CodiceArticolo> # <CodiceArticolo> # <CodiceTipo>EAN</CodiceTipo> # <CodiceValore>9999999999</CodiceValore> # </CodiceArticolo> # <Descrizione>ABCDEF XYZ MID</Descrizione> # <Quantita>1.00</Quantita> # <UnitaMisura>NR</UnitaMisura> # <PrezzoUnitario>268.50000000</PrezzoUnitario> # <PrezzoTotale>268.50</PrezzoTotale> # <AliquotaIVA>4.00</AliquotaIVA> # <AltriDatiGestionali> # <TipoDato>DP</TipoDato> # <RiferimentoTesto>999999999 GRUPPO BLAH BLAH BLAH PL(LE)</RiferimentoTesto> # </AltriDatiGestionali> # </DettaglioLinee> # <DatiRiepilogo> # <AliquotaIVA>4.00</AliquotaIVA> # <Arrotondamento>0.00</Arrotondamento> # <ImponibileImporto>341.07</ImponibileImporto> # <Imposta>13.64</Imposta> # <EsigibilitaIVA>I</EsigibilitaIVA> # </DatiRiepilogo> # </DatiBeniServizi> # <DatiPagamento> # <CondizioniPagamento>XX02</CondizioniPagamento> # <DettaglioPagamento> # <ModalitaPagamento>XX05</ModalitaPagamento> # <DataScadenzaPagamento>2018-11-30</DataScadenzaPagamento> # <ImportoPagamento>354.71</ImportoPagamento> # </DettaglioPagamento> # </DatiPagamento> # <Allegati> # <NomeAttachment>9999_2018_2130009999.pdf</NomeAttachment> # <FormatoAttachment>pdf</FormatoAttachment> # <DescrizioneAttachment>In allegato documento non valido ai fini fiscali</DescrizioneAttachment> # <Attachment>JVBERi0xLjMNCiXi48/TDQoyIDAgb ... # ... BASE64 PDF DATA HERE ... # ... BASE64 PDF DATA HERE ... # ... BASE64 PDF DATA HERE ... # ... BASE64 PDF DATA HERE ... # ... BASE64 PDF DATA HERE ... # ... BASE64 PDF DATA HERE ... # AAAAAAAAAAAAAAAAAAA=</Attachment> # </Allegati> # </FatturaElettronicaBody> # </nr1:FatturaElettronica> delete_CkXml $xml delete_CkStringBuilder $sb delete_CkBinData $bd |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.