Sample code for 30+ languages & platforms
B4X

Insert PDF as Base64 into XML, then Extract back to PDF File

See more XML Examples

Demonstrates 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.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  Load our PDF file.
Dim bd As ChilkatBinData
bd.Initialize
success = bd.LoadFile("qa_data/helloWorld.pdf")
If success <> True Then
    Log("Failed to load PDF file.")
    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>

Dim xml As ChilkatXml
xml.Initialize
success = xml.LoadXmlFile("qa_data/xml/xmlToContainPdf.xml")
If success <> True Then
    Log("Failed to load XML file.")
    Return
End If


'  Insert the PDF into the XML.
xml.NewChild2("xyz|pdfData", bd.GetEncoded("base64"))

'  Show the new XML:
Log(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:
Dim bd2 As ChilkatBinData
bd2.Initialize
success = bd2.AppendEncoded(xml.GetChildContent("xyz|pdfData"), "base64")
success = bd2.WriteFile("qa_output/helloWorld.pdf")

Log("Success.")