Sample code for 30+ languages & platforms
Classic ASP

Extract PDF from General Ledger Transactions XML

See more Office365 Examples

Demonstrates how to extract the base64 data representing a PDF file from a General Ledger Transactions XML.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' The General Ledger Transactions XML contains the following:

' <?xml version="1.0" encoding="utf-8" ?>
' <eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-XML.xsd">
'     <GLTransactions>
'         <GLTransaction entry="100000095">
'             <TransactionType number="20" />
'             <Journal type="20" code="VK">
'                 <Description termid="90003">Verkopen</Description>
'                 <GLAccount type="20" code="400000" />
'                 <Currency code="EUR" />
'             </Journal>
'             <Date>2022-04-05</Date>
'             <Document>
'                 <Subject>100000095</Subject>
'                 <DocumentType number="10" />
'                 <Account code="0001" status="C" />
'                 <Amount>
'                     <Currency code="EUR" />
'                     <Value>1382.91</Value>
'                 </Amount>
'                 <References>
'                     <InvoiceNumber>100000095</InvoiceNumber>
'                 </References>
'                 <Attachments>
'                     <Attachment>
'                         <Name>F_100000095.PDF</Name>
'                         <BinaryData>BASE64_ENCODED_PDF_BYTES_HERE</BinaryData>
'                     </Attachment>
'                 </Attachments>
'             </Document>
'             <GLTransactionLine type="20" status="20" line="0" linetype="0">
'                 <Date>2022-04-05</Date>
'                 <VATType>S</VATType>
'                 <FinYear number="2022" />
'                 <FinPeriod number="4" />
'                 <GLAccount type="20" code="400000" />
'                 <Description>100000095</Description>
'                 <DueDate>2022-05-05</DueDate>
'                 <Account code="0001" status="C">
'                     <Name>90 Degrees &amp; co</Name>
'                 </Account>
'                 <Amount>
'                     <Currency code="EUR" />
'                     <Value>1382.91</Value>
'                 </Amount>
'                 <ForeignAmount>
'                     <Currency code="EUR" />
'                     <Value>1382.91</Value>
'                     <Rate>1</Rate>
'                 </ForeignAmount>
'                 <References>
'                     <InvoiceNumber>100000095</InvoiceNumber>
'                 </References>
'             </GLTransactionLine>
'             <PaymentTerms>
'                 <PaymentTerm entry="100000095" type="20" line="0" paymentMethod="B">
'                     <Description>20</Description>
'                     <GLAccount type="20" code="400000" />
'                     <Amount>
'                         <Currency code="EUR" />
'                         <Debit>1382.91</Debit>
'                         <Credit>0</Credit>
'                     </Amount>
'                     <ForeignAmount>
'                         <Currency code="EUR" />
'                         <Debit>1382.91</Debit>
'                         <Credit>0</Credit>
'                     </ForeignAmount>
'                     <Reference />
'                     <YourRef />
'                     <InvoiceNumber>100000095</InvoiceNumber>
'                     <InvoiceDate>2022-04-05</InvoiceDate>
'                     <DueDate>2022-05-05</DueDate>
'                     <PaymentDate>2022-05-05</PaymentDate>
'                 </PaymentTerm>
'             </PaymentTerms>
'         </GLTransaction>
'     </GLTransactions>
' </eExact>

set xml = Server.CreateObject("Chilkat.Xml")

success = xml.LoadXmlFile("c:/temp/example.xml")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( xml.LastErrorText) & "</pre>"
    Response.End
End If

pdfFilename = xml.GetChildContent("GLTransactions|GLTransaction|Document|Attachments|Attachment|Name")
If (xml.LastMethodSuccess = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( "No XML element at the given path.") & "</pre>"
    Response.End
End If

Response.Write "<pre>" & Server.HTMLEncode( "PDF Filename = " & pdfFilename) & "</pre>"

' binaryDataElem is a Chilkat.Xml
Set binaryDataElem = xml.GetChildWithTag("GLTransactions|GLTransaction|Document|Attachments|Attachment|BinaryData")
If (xml.LastMethodSuccess = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( "No XML element at the given path.") & "</pre>"
    Response.End
End If

' Decode the base64 data and save to a file.
success = binaryDataElem.SaveBinaryContent(pdfFilename,0,0,"")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( binaryDataElem.LastErrorText) & "</pre>"
Else
    Response.Write "<pre>" & Server.HTMLEncode( "Success.") & "</pre>"
End If


%>
</body>
</html>