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
(CkPython) 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.
import sys import 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() success = xml.LoadXmlFile("c:/temp/example.xml") if (success == False): print(xml.lastErrorText()) sys.exit() pdfFilename = xml.getChildContent("GLTransactions|GLTransaction|Document|Attachments|Attachment|Name") if (xml.get_LastMethodSuccess() == False): print("No XML element at the given path.") sys.exit() print("PDF Filename = " + pdfFilename) # 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.") sys.exit() # Decode the base64 data and save to a file. success = binaryDataElem.SaveBinaryContent(pdfFilename,False,False,"") if (success == False): print(binaryDataElem.lastErrorText()) else: print("Success.") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.