I have a great free app from google play called PrinterShare. The app didnt have drivers for my Epson printer so I just setup Google Cloud Print and then pointed the app to my Google Cloud Print. Works on my Samsung S3, wife's IPad, etc. I can print from any device using this method.
To setup printer with Google Cloud I just put the printer's IP address in my phone browser and got the setup page, unable to do it from the printer panel. Once in the setup page put in Google account and it's good to go. If you don't have a PC you can get your printer's IP from your router admin page.