Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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.
#include <CkBinData.h> #include <CkXml.h> void ChilkatSample(void) { CkString strOut; // Load our PDF file. CkBinData bd; bool success = bd.LoadFile("qa_data/helloWorld.pdf"); if (success != true) { strOut.append("Failed to load PDF file."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // 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> CkXml xml; success = xml.LoadXmlFile("qa_data/xml/xmlToContainPdf.xml"); if (success != true) { strOut.append("Failed to load XML file."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Insert the PDF into the XML. xml.NewChild2("xyz|pdfData",bd.getEncoded("base64")); // Show the new XML: strOut.append(xml.getXml()); strOut.append("\r\n"); // 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: CkBinData bd2; success = bd2.AppendEncoded(xml.getChildContent("xyz|pdfData"),"base64"); success = bd2.WriteFile("qa_output/helloWorld.pdf"); strOut.append("Success."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.