Michael R Sweet, der Autor des CUPS-Drucksystems, hat die Veröffentlichung von PAPPL 1.2 vorgestellt, einem Framework zur Entwicklung von Druckanwendungen auf Basis des IPP Everywhere-Protokolls, das empfohlen wird, um traditionelle Druckertreiber zu ersetzen. Der Code des Frameworks ist in C geschrieben und wird unter der Apache 2.0-Lizenz mit einer Ausnahme verbreitet, die das Verlinken mit Code unter den Lizenzen GPLv2 und LGPLv2 erlaubt.
Zu den Änderungen in der neuen Version gehören:
- Vollständige Unterstützung für Lokalisierung hinzugefügt. Grundlegende Lokalisierungssets sind für Englisch, Französisch, Deutsch, Italienisch, Japanisch und Spanisch verfügbar.
- Unterstützung für die macOS-Plattform verbessert. Integration mit dem oberen globalen Menü von macOS sichergestellt. Die Möglichkeit, Druckanwendungen im Modus auszuführen, wurde hinzugefügt. Server.
- Unterstützung für Interpolation beim Drucken von JPEG-Bildern oder bei der Verwendung der Funktion papplJobFilterImage mit aktivierter Glättung hinzugefügt.
- Zusätzliche Funktionen für das Internet Printing Protocol (IPP) wurden implementiert, und es wurden neue APIs hinzugefügt: papplDeviceGetSupplies zur Bestimmung des Tinten- und Tonerstandes, papplSystemAddEvent/papplSubscriptionXxx zur Verarbeitung von IPP-Benachrichtigungen, papplSystemGet/SetMaxClients zur Begrenzung der Anzahl der Clients. In den Funktionen papplPrinterDisable und papplPrinterEnable wurde die Unterstützung für den IPP-Attribut "printer-is-accepting-jobs" hinzugefügt.
- Die Möglichkeit, benutzerdefinierte Papiergrößen in Millimetern festzulegen, wurde hinzugefügt.
- Die Unterstützung für die Bibliotheken OpenSSL und LibreSSL wurde hinzugefügt.
- Der Code für das USB Gadget, das zur Erstellung von Client-USB-Geräten und zur softwaregestützten Simulation von USB-Geräten verwendet wird, wurde aktualisiert.
- Es wurde eine Benutzerbindung für das standardmäßig verwendete Spoolverzeichnis bereitgestellt.
- Die Kompatibilität mit der Bibliothek libcups3 wurde verbessert.
Das PAPPL-Framework wurde ursprünglich zur Unterstützung des LPrint-Drucksystems und der Gutenprint-Treiber entwickelt, kann jedoch zur Implementierung der Unterstützung für alle Drucker und Treiber in Desktop-, Server- und Embedded-Systemen verwendet werden. PAPPL soll dazu beitragen, die Verbreitung der IPP Everywhere-Technologie im Vergleich zu herkömmlichen Treibern zu fördern und die Unterstützung anderer IPP-basierter Anwendungen wie AirPrint und Mopria zu vereinfachen.
PAPPL enthält eine integrierte Implementierung des Protokolls IPP Everywhere, das die Möglichkeit bietet, lokal oder über Netzwerke auf Drucker zuzugreifen und Druckaufträge zu verarbeiten. IPP Everywhere funktioniert im driverlosen Modus und erfordert im Gegensatz zu PPD-Treibern keine Erstellung statischer Konfigurationsdateien. Die Interaktion mit Druckern erfolgt sowohl direkt über eine lokale USB-Verbindung als auch über das Netzwerk mithilfe der Protokolle AppSocket und JetDirect. Daten können im JPEG-, PNG-, PWG Raster-, Apple Raster- und „raw“-Format an den Drucker gesendet werden.
PAPPL kann für POSIX-kompatible Betriebssysteme, einschließlich Linux, macOS, QNX und VxWorks, kompiliert werden. Zu den Abhängigkeiten gehören Avahi (für die Unterstützung von mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (für Authentifizierung) und ZLIB. Basierend auf PAPPL entwickelt das OpenPrinting-Projekt eine universelle Anwendung für PostScript-Drucker, die sowohl mit modernen IPP-kompatiblen Druckern (nutzt PAPPL), die PostScript und Ghostscript unterstützen, als auch mit älteren Druckern, für die PPD-Treiber vorhanden sind (nutzt cups-filters und libppd), arbeiten kann.
Quelle: opennet.ru
