Getting Airprint printer sharing to work under linux is fairly simple.
First off all you need to get your printer working under linux using Cups and make sure you have pdf support (apt-get install cupsd cups-pdf). I won't get into detail howto configure cups. This will be different from printer to printer and pretty well described on the internet.
git clone https://github.com/tjfontaine/airprint-generate.git (apt-get install git - if you don't have git yet)
- To run this script you need python and python-cups:
apt-get install python python-cups
- run the script:
- copy the created files to your avahi services config directory:
cp *.service /etc/avahi/services/
After this you should be ready to go. I still did get one error in my cups error log:
Request from "fe80::7ec5:37ff:fe09:62df%eth0" using invalid Host: field "office.local"
To get this working I still needed to add one line in /etc/cupsd.conf :