Michael R. Sweet, l'auteur du système d'impression CUPS, a présenté la version PAPPL 1.3, un framework pour le développement d'applications d'impression basées sur le protocole IPP Everywhere, recommandé pour remplacer les pilotes de printer traditionnels. Le code du framework est écrit en C et distribué sous la licence Apache 2.0, avec une exception permettant le lien avec des codes sous les licences GPLv2 et LGPLv2.
Le framework PAPPL a été initialement développé pour prendre en charge le système d'impression LPrint et les pilotes Gutenprint, mais peut être utilisé pour implémenter la prise en charge de tout type d'imprimantes et de pilotes pour l'impression sur des systèmes de bureau, serveurs et embarqués. On s'attend à ce que PAPPL puisse accélérer l'adoption de la technologie IPP Everywhere plutôt que des pilotes classiques et simplifier la prise en charge d'autres programmes basés sur IPP, tels qu'AirPrint et Mopria.
PAPPL inclut une implémentation intégrée du protocole IPP Everywhere, fournissant des moyens d'accès aux imprimantes localement ou à travers le réseau et de traitement des demandes d'impression. IPP Everywhere fonctionne en mode sans pilote (« driverless ») et contrairement aux pilotes PPD, il ne nécessite pas la création de fichiers de configuration statiques. La communication avec les imprimantes est prise en charge à la fois directement via une connexion USB à l'imprimante et à distance en utilisant les protocoles AppSocket et JetDirect. Les données peuvent être envoyées à l'imprimante dans les formats JPEG, PNG, PWG Raster, Apple Raster et « raw ».
PAPPL peut être compilé pour les systèmes d'exploitation compatibles POSIX, y compris Linux, macOS, QNX et VxWorks. En ce qui concerne les dépendances, on note Avahi (pour le support mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (pour l'authentification) et ZLIB. Sur la base de PAPPL, le projet OpenPrinting développe une application universelle d'impression PostScript, capable de fonctionner à la fois avec des imprimantes modernes compatibles IPP (utilisant PAPPL), prenant en charge PostScript et Ghostscript, ainsi qu'avec des imprimantes anciennes pour lesquelles des pilotes PPD sont disponibles (des filtres cups-filters et libppd sont utilisés).
Parmi les changements dans la nouvelle version :
- Ajout de la possibilité de suspendre et de reprendre les travaux d'impression.
- Ajout d'un journal de débogage pour les opérations de gestion des dispositifs.
- Ajout du support pour le redimensionnement des images PNG, en utilisant les informations de résolution intégrées.
- Mise à disposition d'un bandeau localisé en haut des pages web avec des informations sur l'imprimante et le système.
- Ajout d'une API pour gérer le lancement de tâches planifiées.
- Implémentation de la configuration réseau via des appels de rappel.
- Ajout d'une API pour limiter la taille maximale des images JPEG et PNG.
- Ajout du support de compilation avec Clang/GCC en mode ThreadSanitizer (-enable-tsanitizer).
- Ajout d'un bouton pour afficher le mot de passe dans le champ de saisie du mot de passe Wi-Fi.
Source : opennet.ru
