VB.NET
VB.NET
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 VB.NET Downloads
Dim success As Boolean = False
' 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 & 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>
Dim xml As New Chilkat.Xml
success = xml.LoadXmlFile("c:/temp/example.xml")
If (success = False) Then
Debug.WriteLine(xml.LastErrorText)
Exit Sub
End If
Dim pdfFilename As String = xml.GetChildContent("GLTransactions|GLTransaction|Document|Attachments|Attachment|Name")
If (xml.LastMethodSuccess = False) Then
Debug.WriteLine("No XML element at the given path.")
Exit Sub
End If
Debug.WriteLine("PDF Filename = " & pdfFilename)
Dim binaryDataElem As Chilkat.Xml = xml.GetChildWithTag("GLTransactions|GLTransaction|Document|Attachments|Attachment|BinaryData")
If (xml.LastMethodSuccess = False) Then
Debug.WriteLine("No XML element at the given path.")
Exit Sub
End If
' Decode the base64 data and save to a file.
success = binaryDataElem.SaveBinaryContent(pdfFilename,False,False,"")
If (success = False) Then
Debug.WriteLine(binaryDataElem.LastErrorText)
Else
Debug.WriteLine("Success.")
End If