print png with zebra imz220 - android <p>I'm having an issue printing png assets to a zebra imz220 printer, its going to be used to print receipts from an android tablet and a logo is required to be printed at the top of the printout. when printing the image i get a string output instead of the image. I tried the following stackoverflow post as i cant seem to find any documentation on how to do it - <a href="http://stackoverflow.com/questions/26100430/print-image-via-bluetooth-printer-prints-string/29383314#">print image via bluetooth printer prints string</a> </p> <pre><code>package com.example.gareth.myzebraprinter; import android.content.res.AssetManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.zebra.sdk.comm.BluetoothConnection; import com.zebra.sdk.comm.Connection; import com.zebra.sdk.comm.ConnectionException; import com.zebra.sdk.graphics.ZebraImageFactory; import com.zebra.sdk.graphics.ZebraImageI; import com.zebra.sdk.printer.PrinterLanguage; import com.zebra.sdk.printer.ZebraPrinter; import com.zebra.sdk.printer.ZebraPrinterFactory; import com.zebra.sdk.printer.ZebraPrinterLanguageUnknownException; import com.zebra.sdk.util.internal.Base64; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; public class MainActivity extends AppCompatActivity { private ZebraPrinter zebraPrinter; private Connection connection; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); connect(); printTest(); } private void printTest(){ if(zebraPrinter != null){ try { InputStream inputStream = getAssets().open("ic_launcher.png"); ZebraImageI zebraImageI = ZebraImageFactory.getImage(BitmapFactory.decodeStream(inputStream)); zebraPrinter.printImage(zebraImageI,250,0,0,-1,false); } catch (IOException e) { e.printStackTrace(); } catch (ConnectionException e) { e.printStackTrace(); } // byte[] rcpt = "------------\n\r test test test".getBytes(); // try { // connection.write(rcpt); // } catch (ConnectionException e) { // Log.e("printTest",e.getMessage()); // } } } private void connect(){ connection = new BluetoothConnection("AC3FA41EF22E"); try { connection.open(); } catch (ConnectionException ex) { Log.e("connect","ConnectionException " + ex.getMessage()); mSleeper.sleep(1000); closeConnection(); } catch(Exception ex) { Log.e("connect","Exception "+ex.getMessage()); } try { zebraPrinter = ZebraPrinterFactory.getInstance(connection); PrinterLanguage pl = zebraPrinter.getPrinterControlLanguage(); Log.i("PrinterPanguage",pl.toString()); } catch (ConnectionException ex) { Log.e("connect","ConnectionException " + ex.getMessage()); zebraPrinter = null; mSleeper.sleep(1000); closeConnection(); } catch(Exception ex) { Log.e("connect","Exception " + ex.getMessage()); zebraPrinter = null; mSleeper.sleep(1000); closeConnection(); } } private void closeConnection(){ if(connection != null){ try { connection.close(); } catch (ConnectionException exx) { Log.e("closeConnection", exx.getMessage()); } } } } </code></pre>