In order to easily share documents to an Interactive Surface we implemented an AirPrint PDF Printer in pure Java. It uses the JmDNS library to announce a PDF-capable AirPrint-Printer to iOS- and OS X-devices in the local network via Apple’s Bonjour zeroconf-service. When a device discovers the printer and starts a print job, the incoming requests are handled by a
HttpServer. The server processes the incoming IPP (Internet Printing Protocol) requests and accepts incoming print jobs. The document in the response body is passed to Apache PDFBox in form of a
byte, gets loaded into a
PDDocument, and (the first page) is rendered into a
BufferedImage. The document is displayed in form of an
ImageView — with TUIOFX it is easily zoomable, rotatable and movable on our TUIO-enabled multi-touch table.
See this little demo video of how it works: