title: How to convert base64 to pdf?
body: <p>Given a base64 input, how would I convert it into a PDF file in Android?</p>
  
  <pre><code>@Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          context = this;
          setContentView(R.layout.activity_main);
          // Get the PDF file to encode it into Base64
          File file = new File("/mnt/sdcard/download/Base64.pdf");
          try {
              // Files is from Guava library
              Files.toByteArray(file);
              // Encoded into Base64
              byte[] temp = Base64.encode(Files.toByteArray(file), Base64.DEFAULT);
              // For testing purposes, wrote the encoded string to file
              writeToFile(Base64.encodeToString(temp, Base64.DEFAULT).toString());
  
          } catch (IOException e) {
              Log.d(tag, "File.toByteArray() error");
              e.printStackTrace();
          }
      }
  </code></pre>
  
  <p>I was able to use <a href="http://www.webutils.pl/index.php?idx=base64" rel="noreferrer">http://www.webutils.pl/index.php?idx=base64</a> to test the PDF file was being encoded properly. But I would like to be able to decode the base64 back to PDF myself. How would I do that?</p>
  
  <p><strong>Edit 1</strong></p>
  
  <p>Tried the below code as suggested by Saneesh CS</p>
  
  <pre><code>@Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          context = this;
          setContentView(R.layout.activity_main);
          // Get the PDF file to encode it into Base64
          File file = new File("/mnt/sdcard/download/Base64.pdf");
          try {
              // Files is from Guava library
              Files.toByteArray(file);
              // Encoded into Base64
              byte[] temp = Base64.encode(Files.toByteArray(file), Base64.DEFAULT);
              // Tried with the below line, but same result.
              byte[] temp1 = Base64.encode(Files.toByteArray(file), 0);
              // For testing purposes, wrote the encoded string to file
  //          writeToFile(Base64.encodeToString(temp, Base64.DEFAULT).toString());
              final File dwldsPath = new File(Environment.getExternalStorageDirectory(), "test7.pdf");
              byte[] pdfAsBytes = Base64.decode(temp, 0);
              FileOutputStream os;
              os = new FileOutputStream(dwldsPath, false);
              os.write(pdfAsBytes);
              os.flush();
              os.close();
          } catch (IOException e) {
              Log.d(tag, "File.toByteArray() error");
              e.printStackTrace();
          }
      }
  </code></pre>
  
  <p>Above code works.</p>