App for printing to Samba printers via iOS document sharing
Printers

I work at a school and we have a printing solution in place for iOS.  However, there is no way to print from an iOS device directly to a shared printer without a middle step unless the printer has built in support for AirPrint.

The printers at our school do not support AirPrint, so the solution that we have is as follows:


Printers are installed on the network (Existing Infrastructure)
iOS Devices would like to use the printers
Install desired printers to be used by iOS devices on a Mac and share the printers
Have an intermediate software to publish the printers, there is many out there but we use Papercut
Printers are now advertised in a Bonjour fashion
iOS devices can see the printers and print to them


The is just a general overview of how it work at my school, but the idea would be similar everywhere. 

Document Sharing

The easiest way that I have found to share document on your network to iOS devices is via WebDav.  It is basically file sharing over HTTP.  You'll need some sort of Web Server to host the files and then setup a WebDav share.

Types of Web Servers could be as simple as a basic user level NAS that supports HTTP sharing (WebDav) or as complicated as having a Web Server that hosts Virtual Directories to network shares.

Once you have a WebDav server setup, the app I recommend is WebDav Navigator.  From this app you'll be able to see all the files on your Web Server that you have shared.  You can add authentication and permissions to fit your needs.  

Put it all together

Once you have Printing and WebDav setup you can easily print documents from a network location, you may need a few additional apps on your iOS device. Here are some examples:

Print a PDF

Locate the PDF file in WebDav Navigator on your share.  Open the file, you may need to open with the Adobe Reader app, or another PDF reading app.  Print the PDF to your desired printer.

Print a Pages, Number, or Keynote

These 3 apps all have built in support for WebDav. Each app is much the same, so from the app itself - to save a file on WebDav Click on the share button --&gt; Send a copy --&gt; Choose file format --&gt; Choose WebDav from the list --&gt; Save it on your share

To get a Pages, Numbers, or Keynote file WebDav.  Go to the page where you can see all your Documents and Click the Plus button in the top left corner. You should see Copy From WebDav.  If you don't see it, click on the More button and you'll find it there.

Once you have the file in Pages, Numbers or Keynote, you will be able to print directly from the app to your desired printer.

Hope this helps

EDIT

Some more info about Papercut

First of all have a really good ready through the iOS setup from Papercut. It goes through step by step how to get Papercut to work on iOS devices.  The article is very good.

Papercut doesn't have an iOS app (However at our school we call it the Printing App).  It simply installs a Web Clip that links to the Papercut server.  Basically a similar site to their Web Print but shows each user their Printing Queues and print jobs that are waiting to be released etc.  Users have to be logged into this site before they will be able to print.

We also have multiple network zones.  Our are separated by vlans and you are right bonjour will not work across network zones.  The work around for up was to buy USB to Ethernet adapters / thunderbolt to Ethernet adapters and plug them into our Mac Mini. I have 5 networks on the Mac Mini all up and it works great for everyone.  As you can see this will quickly be a limitation if you have more than 6 network zones (4 USB slots, 1 thunderbolt, 1 native Ethernet - at least on my Mac Mini).  The next thing to look at would be an mDNS repeater that forwards bonjour traffic across networks.  Avahi is the main one that comes to mind but there is others.

Again, hope this helps