Michael R Sweet, autor systemu drukowania CUPS, zaprezentował wydanie PAPPL 1.2, frameworka do opracowywania aplikacji drukujących opartych na protokole IPP Everywhere, które zaleca się stosować zamiast tradycyjnych sterowników drukarek. Kod frameworka jest napisany w języku C i jest udostępniany na licencji Apache 2.0 z wyjątkiem zezwalającym na powiązania z kodem na licencjach GPLv2 i LGPLv2.
Wśród zmian w nowej wersji:
- Dodano pełne wsparcie dla lokalizacji. Podstawowe zestawy lokalizacji zaproponowano dla języków angielskiego, francuskiego, niemieckiego, włoskiego, japońskiego i hiszpańskiego.
- Ulepszono wsparcie dla platformy macOS. Zapewniono integrację z górnym globalnym menu macOS. Dodano możliwość uruchamiania aplikacji wyjścia na druk w trybie serwera.
- Dodano wsparcie dla interpolacji podczas drukowania obrazów JPEG lub przy użyciu funkcji papplJobFilterImage z włączonym wygładzaniem.
- Zrealizowano dodatkowe możliwości protokołu IPP (Internet Printing Protocol) oraz dodano nowe API: papplDeviceGetSupplies do określania poziomu tuszu i tonera, papplSystemAddEvent/papplSubscriptionXxx do obsługi powiadomień IPP, papplSystemGet/SetMaxClients do ograniczenia liczby klientów. W funkcjach papplPrinterDisable i papplPrinterEnable dodano wsparcie dla atrybutu IPP „printer-is-accepting-jobs”.
- Dodano możliwość określenia własnych rozmiarów arkuszy w milimetrach.
- Dodano wsparcie dla bibliotek OpenSSL i LibreSSL.
- Zaktualizowano kod USB Gadget, używany do tworzenia klientów USB i programowej symulacji urządzeń USB.
- Zapewniono przypisanie do użytkownika katalogu z kolejką drukowania stosowanego domyślnie.
- Ulepszono zgodność z biblioteką libcups3.
Framework PAPPL został pierwotnie zaprojektowany do wsparcia systemu drukowania LPrint i sterowników Gutenprint, ale może być używany do implementacji wsparcia dla dowolnych drukarek i sterowników podczas drukowania na systemach stacjonarnych, serwerowych oraz wbudowanych. Zakłada się, że PAPPL przyczyni się do przyspieszenia wdrażania technologii IPP Everywhere zamiast klasycznych sterowników oraz uproszczenia wsparcia dla innych programów opartych na IPP, takich jak AirPrint i Mopria.
PAPPL zawiera wbudowaną implementację protokołu IPP Everywhere, która zapewnia środki do lokalnego lub sieciowego dostępu do drukarek i obsługi żądań drukowania. IPP Everywhere działa w trybie bezsterownikowym („driverless”) i w przeciwieństwie do sterowników PPD nie wymaga tworzenia statycznych plików konfiguracyjnych. Wspierana jest interakcja z drukarkami zarówno bezpośrednio przez lokalne połączenie przez USB, jak i poprzez sieć za pomocą protokołów AppSocket i JetDirect. Dane mogą być przesyłane do drukarki w formatach JPEG, PNG, PWG Raster, Apple Raster i „raw”.
PAPPL może być kompilowany dla systemów operacyjnych zgodnych z POSIX, w tym Linux, macOS, QNX i VxWorks. Wśród zależności należy wymienić Avahi (do obsługi mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (do autoryzacji) oraz ZLIB. Na bazie PAPPL projekt OpenPrinting rozwija uniwersalną aplikację PostScript Printer Application, która może współpracować zarówno z nowoczesnymi drukarkami zgodnymi z IPP (używającymi PAPPL), które obsługują PostScript i Ghostscript, jak i ze starszymi drukarkami, dla których dostępne są sterowniki PPD (stosowane są filtry cups-filters i libppd).
Źródło: opennet.ru
