OK. I was successfully able to use AirPrint on my corporate network (I am the sysadmin). I was unable to print to severs shared using SMB Shares. I was only able to successully print to printers with print servers built into them, using their IP Address on port 9100.
1) Install a VM with Ubuntu 11.11 beta Oneiric Ocelot. Update your packages.
sudo apt-get update
sudo apt-get upgrade
2) Add the printer using these instructions
On your computer start system-config-printer via System ->
Administration -> Printing (GNOME Classic) or via Turn-off-button at
the upper right -> System Settings -> Hardware -> Printing (Unity
Natty) or via the command line (all systems including Unity Oneiric).
In system-config-printer choose Server -> Settings and activate
"Published shared printers connected to this system". Click OK and
then right-click on the icon of your print queue and choose
Properties in the pop-up menu. In the Policies section of the dialog
make sure that "Shared" is activated.
YOU MUST ADD THE PRINTER USING HP/APP SOCKET.
3) Get the AirPrint Generate script from github here. (More info)
This will generate
cp PRINTER.service /etc/avahi/services/
/etc/cups/cups.conf add a line
under the line
5) Restart avahi and cups
To debug use avahi-browse.
avahi-browse --terminate --resolve _ipp._tcp