hp-printer-app
implements printing for a variety of common PCL printers
connected via network or USB. Features include:
- A single executable handles spooling, status, and server functionality.
- Multiple printer support.
- Each printer implements an IPP Everywhere™ print service and is compatible
with the driverless printing support in Android™, Chrome OS™, iOS®, Linux®,
macOS®, and Windows® 10/11 clients.
- Each printer can directly print “raw”, Apple/PWG Raster, and/or PNG files.
- Each printer automatically recovers from out-of-media, power loss, and
disconnected/bad cable issues.
What is Supported?
Clients:
- Android™ (4.4+)
- Chrome OS™
- iOS® (4+)
- Linux® (w/CUPS 1.4+)
- macOS® (10.14+)
- Windows® (10+)
Printers:
- HP: Most DeskJet, LaserJet, Photosmart, and OfficeJet
- Other: Laser printers with PCL 5 support from Canon, IBM, Lexmark, Kyocera, Ricoh, Xerox, etc.
System Requirements
Tools:
- C99 compiler (Clang, GCC, MSVC)
- POSIX-compliant `make` (all but Windows)
- Xcode (optional for macOS)
Required Libraries:
- Avahi (0.8+) or mDNSResponder
- CUPS (2.4+) or libcups (3.0+)
- GNU TLS (3.0+), LibreSSL (3.0+), or OpenSSL (1.1+)
- PAPPL (1.2+)
- ZLIB (1.1+)
Optional Libraries:
- JPEGLIB (8+) or libjpeg-turbo (2.0+)
- LIBPNG (1.6+)