Classic ASP
Classic ASP
Extract PDF Invoice from FatturaElettronica XML
See more XML Examples
Demonstrates how to extract a PDF attachment from an XML invoice (fattura elettronica) -- ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' The XML invoice is shown at the bottom of this example.
set xml = Server.CreateObject("Chilkat.Xml")
success = xml.LoadXmlFile("qa_data/xml/fatture_invoice.xml")
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( xml.LastErrorText) & "</pre>"
Response.End
End If
' Get the Base64 PDF content.
set sb = Server.CreateObject("Chilkat.StringBuilder")
success = xml.GetChildContentSb("FatturaElettronicaBody|Allegati|Attachment",sb)
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( xml.LastErrorText) & "</pre>"
Response.End
End If
' Decode the base64
set bd = Server.CreateObject("Chilkat.BinData")
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>
%>
</body>
</html>