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
(Perl) Extract PDF from General Ledger Transactions XMLSee more Office365 ExamplesDemonstrates how to extract the base64 data representing a PDF file from a General Ledger Transactions XML.
use chilkat(); # 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> $xml = chilkat::CkXml->new(); $success = $xml->LoadXmlFile("c:/temp/example.xml"); if ($success == 0) { print $xml->lastErrorText() . "\r\n"; exit; } $pdfFilename = $xml->getChildContent("GLTransactions|GLTransaction|Document|Attachments|Attachment|Name"); if ($xml->get_LastMethodSuccess() == 0) { print "No XML element at the given path." . "\r\n"; exit; } print "PDF Filename = " . $pdfFilename . "\r\n"; # binaryDataElem is a Xml $binaryDataElem = $xml->GetChildWithTag("GLTransactions|GLTransaction|Document|Attachments|Attachment|BinaryData"); if ($xml->get_LastMethodSuccess() == 0) { print "No XML element at the given path." . "\r\n"; exit; } # Decode the base64 data and save to a file. $success = $binaryDataElem->SaveBinaryContent($pdfFilename,0,0,""); if ($success == 0) { print $binaryDataElem->lastErrorText() . "\r\n"; } else { print "Success." . "\r\n"; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.