PAPPL Printer Application Framework

Version License Code Quality C Linux | macOS | Unix | Windows

News

PAPPL v1.2.1 May 26, 2022

PAPPL v1.2.0 May 15, 2022

PAPPL v1.2rc1 May 03, 2022

PAPPL v1.2b1 April 23, 2022

PAPPL v1.1.0 December 15, 2021

PAPPL is a simple C-based framework/library for developing CUPS Printer Applications, which are the recommended replacement for printer drivers. It was developed to support any kind of printer or driver that can be used on desktops, servers, and in embedded environments.

PAPPL supports JPEG, PNG, PWG Raster, Apple Raster, and “raw” printing to printers connected via USB and network (AppSocket/JetDirect) connections. PAPPL provides an embedded IPP Everywhere™, AirPrint™, and Mopria® service that provides access to printers locally or on your whole network.

PAPPL is licensed under the Apache License Version 2.0 with an exception to allow linking against GPL2/LGPL2 software (like older versions of CUPS), so it can be used freely in any project you’d like. If you want to support the development of this framework financially, please consider sponsoring me through Github or Liberapay. I am also available to do consulting and/or development through my company Lakeside Robotics (https://www.lakesiderobotics.ca).

System Requirements

Tools:

  • C99 compiler (Clang, GCC, MSVC)
  • POSIX-compliant `make` (all but Windows)
  • Xcode (optional for macOS)
  • Visual Studio 2019 or later (Windows)

Required Libraries:

  • Avahi (0.8+) or mDNSResponder
  • CUPS (2.2+) or libcups (3.0+)
  • GNU TLS (3.0+), LibreSSL (3.0+), or OpenSSL (1.1+)
  • ZLIB (1.1+)

Optional Libraries:

  • JPEGLIB (8+) or libjpeg-turbo (2.0+)
  • LIBPAM
  • LIBPNG (1.6+)
  • LIBUSB (1.0+)

Printer Applications Using PAPPL