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
(Ruby) 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
require 'chilkat' # The XML invoice is shown at the bottom of this example. xml = Chilkat::CkXml.new() success = xml.LoadXmlFile("qa_data/xml/fatture_invoice.xml") if (success != true) print xml.lastErrorText() + "\n"; exit end # Get the Base64 PDF content. sb = Chilkat::CkStringBuilder.new() success = xml.GetChildContentSb("FatturaElettronicaBody|Allegati|Attachment",sb) if (success != true) print xml.lastErrorText() + "\n"; exit end # Decode the base64 bd = Chilkat::CkBinData.new() success = bd.AppendEncodedSb(sb,"base64") # Save to a PDF file. success = bd.WriteFile("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> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.