Sample code for 30+ languages & platforms
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.2

Chilkat Classic ASP Downloads

Classic ASP
<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>