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
(PowerBuilder) 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
integer li_rc oleobject loo_Xml integer li_Success oleobject loo_Sb oleobject loo_Bd // The XML invoice is shown at the bottom of this example. loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") if li_rc < 0 then destroy loo_Xml MessageBox("Error","Connecting to COM object failed") return end if li_Success = loo_Xml.LoadXmlFile("qa_data/xml/fatture_invoice.xml") if li_Success <> 1 then Write-Debug loo_Xml.LastErrorText destroy loo_Xml return end if // Get the Base64 PDF content. loo_Sb = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder") li_Success = loo_Xml.GetChildContentSb("FatturaElettronicaBody|Allegati|Attachment",loo_Sb) if li_Success <> 1 then Write-Debug loo_Xml.LastErrorText destroy loo_Xml destroy loo_Sb return end if // Decode the base64 loo_Bd = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData") li_Success = loo_Bd.AppendEncodedSb(loo_Sb,"base64") // Save to a PDF file. li_Success = loo_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> destroy loo_Xml destroy loo_Sb destroy loo_Bd |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.