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
(Ruby) 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.
require '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 == false) print xml.lastErrorText() + "\n"; exit end pdfFilename = xml.getChildContent("GLTransactions|GLTransaction|Document|Attachments|Attachment|Name") if (xml.get_LastMethodSuccess() == false) print "No XML element at the given path." + "\n"; exit end print "PDF Filename = " + pdfFilename + "\n"; # binaryDataElem is a CkXml binaryDataElem = xml.GetChildWithTag("GLTransactions|GLTransaction|Document|Attachments|Attachment|BinaryData") if (xml.get_LastMethodSuccess() == false) print "No XML element at the given path." + "\n"; exit end # Decode the base64 data and save to a file. success = binaryDataElem.SaveBinaryContent(pdfFilename,false,false,"") if (success == false) print binaryDataElem.lastErrorText() + "\n"; else print "Success." + "\n"; end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.