Become a sponsor to Gerhard Muth
I love to develop easy-to-use solutions for a good developer experience.
IPP printing technology is omnipresent in all major operating systems (Apple AirPrint, Mopria, MS Universal Print) and widely implemented by printer manufacturers. While the protocol and data exchange is standardised by the printer working group the programming apis of the operating systems vary a lot. From a developer's point of view physical printing is still a nightmare. Additionally OS dependent print apis usually require disrupting user interaction.
My approach to automated physical printing is OS independent and requires no user interaction.
Physical printing requires four major steps:
- Define the physical printer by configuration or discovery (e.g. Bonjour, DNS-DS)
- Produce a printable document (formatted in pdl supported by printer)
- Successfully submit the printable document to printer
- Monitor the print job and printer status
For steps 0 and 1 I use other libraries and provide sample code. My solution covers steps 2 and 3. Currently my work is focused on jvm based languages java and kotlin. I am happy to support any effort based on other programming languages or systems.
3 sponsors have funded gmuth’s work.
Featured work
-
gmuth/ipp-client-kotlin
A client implementation of the ipp protocol written in kotlin
Kotlin 81 -
gmuth/ipp-printjob-kotlin
A minimal ipp protocol implementation to submit a document to a printer
Kotlin 6 -
gmuth/ipp-printjob-java
A minimal ipp protocol implementation to submit a document to a printer
Java 15 -
gmuth/ipp-samples
ipp-client use cases written in java or kotlin with build support for gradle and maven, bonjour discovery
Kotlin 13