Android™
Android™
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 Android™ Downloads
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
private static final String TAG = "Chilkat";
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean success = false;
// Load our PDF file.
CkBinData bd = new CkBinData();
success = bd.LoadFile("qa_data/helloWorld.pdf");
if (success != true) {
Log.i(TAG, "Failed to load PDF file.");
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 = new CkXml();
success = xml.LoadXmlFile("qa_data/xml/xmlToContainPdf.xml");
if (success != true) {
Log.i(TAG, "Failed to load XML file.");
return;
}
// Insert the PDF into the XML.
xml.NewChild2("xyz|pdfData",bd.getEncoded("base64"));
// Show the new XML:
Log.i(TAG, 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:
CkBinData bd2 = new CkBinData();
success = bd2.AppendEncoded(xml.getChildContent("xyz|pdfData"),"base64");
success = bd2.WriteFile("qa_output/helloWorld.pdf");
Log.i(TAG, "Success.");
}
static {
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}