PAPPL 1.2, a framework for organizing print output is available

Michael R Sweet, author of the CUPS printing system, announced the release of PAPPL 1.2, 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.

Among the changes in the new version:

  • Added full localization support. Base localization kits are offered for English, French, German, Italian, Japanese, and Spanish.
  • Improved support for the macOS platform. Integration with the top global macOS menu is provided. Added the ability to run print output applications in server mode.
  • Added support for interpolation when printing JPEG images or when using the papplJobFilterImage function with anti-aliasing enabled.
  • Additional features of the IPP (Internet Printing Protocol) protocol have been implemented and new APIs have been added: papplDeviceGetSupplies for determining ink and toner levels, papplSystemAddEvent/papplSubscriptionXxx for processing IPP notifications, papplSystemGet/SetMaxClients for limiting the number of clients. Support for the "printer-is-accepting-jobs" IPP attribute has been added to the papplPrinterDisable and papplPrinterEnable functions.
  • Added the ability to set custom sheet sizes in millimeters.
  • Added support for OpenSSL and LibreSSL libraries.
  • Updated the USB Gadget code used to create USB client devices and simulate USB devices in software.
  • Provided binding to the user of the directory with the default print spool.
  • Improved compatibility with libcups3 library.

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). ).

Source: opennet.ru

Add a comment