PAPPL 1.3, a framework for organizing print output is available

Michael R Sweet, author of the CUPS printing system, announced the release of PAPPL 1.3, a framework for developing IPP Everywhere printing applications that are recommended to be used in place of traditional printer drivers. The framework code is written in C and distributed under the Apache 2.0 license with an exception allowing linking with code under the GPLv2 and LGPLv2 licenses.

The PAPPL framework was originally designed to support the LPrint printing system and Gutenprint drivers, but can be used to implement support for any printer and driver when printing on desktop, server, and embedded systems. PAPPL is expected to help accelerate the advancement of IPP Everywhere technology in place of the classic drivers and make it easier to support other IPP-based programs such as AirPrint and Mopria.

PAPPL includes a built-in implementation of the IPP Everywhere protocol, which provides the means to access printers locally or over a network and process print requests. IPP Everywhere operates in driverless mode and, unlike PPD drivers, does not require the creation of static configuration files. Interaction with printers is supported both directly through a local printer connection via USB, and network access using the AppSocket and JetDirect protocols. Data can be sent to the printer in JPEG, PNG, PWG Raster, Apple Raster, and raw formats.

PAPPL can be built for POSIX-compliant operating systems, including Linux, macOS, QNX, and VxWorks. Dependencies include Avahi (for mDNS/DNS-SD support), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (for authentication), and ZLIB. Based on PAPPL, the OpenPrinting project develops a universal PostScript Printer Application that can work with both modern IPP-compatible printers (used by PAPPL) that support PostScript and Ghostscript, and with older printers that have PPD drivers (using cups-filters and libppd filters). ).

Among the changes in the new version:

  • Added the ability to hold and resume printing jobs.
  • Added debug logging for device management operations.
  • Added support for scaling PNG images using native resolution information.
  • Added the ability to display a localized banner at the top of printer and system information web pages.
  • Added an API to control the launch of periodically running tasks.
  • Implemented the ability to configure the network through callback calls.
  • Added an API to limit the maximum size of JPEG and PNG images.
  • Added support for building in Clang/GCC in ThreadSanitizer mode (-enable-tsanitizer).
  • A button to display the password has been added to the Wi-Fi password field.

Source: opennet.ru

Add a comment