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
(Visual FoxPro) 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
LOCAL loXml LOCAL lnSuccess LOCAL loSb LOCAL loBd * The XML invoice is shown at the bottom of this example. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') lnSuccess = loXml.LoadXmlFile("qa_data/xml/fatture_invoice.xml") IF (lnSuccess <> 1) THEN ? loXml.LastErrorText RELEASE loXml CANCEL ENDIF * Get the Base64 PDF content. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSb = CreateObject('Chilkat.StringBuilder') lnSuccess = loXml.GetChildContentSb("FatturaElettronicaBody|Allegati|Attachment",loSb) IF (lnSuccess <> 1) THEN ? loXml.LastErrorText RELEASE loXml RELEASE loSb CANCEL ENDIF * Decode the base64 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loBd = CreateObject('Chilkat.BinData') lnSuccess = loBd.AppendEncodedSb(loSb,"base64") * Save to a PDF file. lnSuccess = loBd.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> RELEASE loXml RELEASE loSb RELEASE loBd |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.