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
(PowerBuilder) Insert PDF as Base64 into XML, then Extract back to PDF FileDemonstrates how to insert any file into XML using base64 encoding, and then extract back to the original file. This example embeds a PDF in the XML, but the type of file does not matter. It can be any type of file.
integer li_rc oleobject loo_Bd integer li_Success oleobject loo_Xml oleobject loo_Bd2 // Load our PDF file. loo_Bd = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData") if li_rc < 0 then destroy loo_Bd MessageBox("Error","Connecting to COM object failed") return end if li_Success = loo_Bd.LoadFile("qa_data/helloWorld.pdf") if li_Success <> 1 then Write-Debug "Failed to load PDF file." destroy loo_Bd return end if // Load the following XML: // // <?xml version="1.0" encoding="utf-8" ?> // <something> // <xyz> // <abc123>A base64 encoded PDF file will be inserted under this node.</abc123> // </xyz> // </something> loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") li_Success = loo_Xml.LoadXmlFile("qa_data/xml/xmlToContainPdf.xml") if li_Success <> 1 then Write-Debug "Failed to load XML file." destroy loo_Bd destroy loo_Xml return end if // Insert the PDF into the XML. loo_Xml.NewChild2("xyz|pdfData",loo_Bd.GetEncoded("base64")) // Show the new XML: Write-Debug loo_Xml.GetXml() // The XML now looks like this: // <?xml version="1.0" encoding="utf-8" ?> // <something> // <xyz> // <abc123>A base64 encoded PDF file will be inserted under this node.</abc123> // <pdfData>JVBERi0xL ... UlRU9GCg==</pdfData> // </xyz> // </something> // To extract the PDF data out and restore the PDF file: loo_Bd2 = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_Bd2.ConnectToNewObject("Chilkat.BinData") li_Success = loo_Bd2.AppendEncoded(loo_Xml.GetChildContent("xyz|pdfData"),"base64") li_Success = loo_Bd2.WriteFile("qa_output/helloWorld.pdf") Write-Debug "Success." destroy loo_Bd destroy loo_Xml destroy loo_Bd2 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.