Michael R Sweet, autor do sistema de impressão CUPS, apresentou o lançamento do PAPPL 1.3, um framework para o desenvolvimento de aplicações de impressão baseadas no protocolo IPP Everywhere, recomendado como substituto para drivers tradicionais de impressoras. O código do framework foi escrito em C e é distribuído sob a licença Apache 2.0, com uma exceção permitindo a vinculação com códigos sob licenças GPLv2 e LGPLv2.
O framework PAPPL foi originalmente desenvolvido para suportar o sistema de impressão LPrint e os drivers Gutenprint, mas pode ser usado para implementar suporte a qualquer impressora e drivers ao imprimir em sistemas de desktop, servidor e embutidos. Espera-se que o PAPPL ajude a acelerar a adoção da tecnologia IPP Everywhere em vez de drivers clássicos e simplifique o suporte a outros softwares baseados em IPP, como AirPrint e Mopria.
O PAPPL inclui uma implementação embutida do protocolo IPP Everywhere, que fornece meios para acessar impressoras localmente ou pela rede e processar solicitações de impressão. O IPP Everywhere opera no modo 'sem driver' e, ao contrário dos drivers PPD, não requer a criação de arquivos de configuração estáticos. O suporte é dado para interação com impressoras tanto diretamente via conexão USB quanto via rede utilizando os protocolos AppSocket e JetDirect. Os dados podem ser enviados para a impressora nos formatos JPEG, PNG, PWG Raster, Apple Raster e 'raw'.
O PAPPL pode ser compilado para sistemas operacionais compatíveis com POSIX, incluindo Linux, macOS, QNX e VxWorks. Entre as dependências estão Avahi (para suporte a mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (para autenticação) e ZLIB. Com base no PAPPL, o projeto OpenPrinting está desenvolvendo um aplicativo universal de impressão PostScript, capaz de trabalhar tanto com impressoras modernas compatíveis com IPP (utilizando PAPPL), que suportam PostScript e Ghostscript, quanto com impressoras mais antigas, para as quais existem drivers PPD (são utilizados filtros cups-filters e libppd).
Entre as mudanças na nova versão:
- Adicionada a possibilidade de pausar e retomar trabalhos de impressão.
- Adicionado o registro de log de depuração para operações de gerenciamento de dispositivos.
- Suporte adicionado para escalonamento de imagens PNG, utilizando informações de resolução incorporadas.
- Oferecida a possibilidade de exibir um banner localizado na parte superior de páginas web com informações sobre a impressora e o sistema.
- Adicionado API para gerenciar a execução de tarefas agendadas.
- Implementada a possibilidade de configuração de rede através de callbacks.
- Adicionado API para limitar o tamanho máximo de imagens JPEG e PNG.
- Suporte adicionado para compilação em Clang/GCC com a opção ThreadSanitizer (-enable-tsanitizer).
- No campo para inserir a senha do Wi-Fi, um botão foi adicionado para mostrar a senha.
Fonte: opennet.ru
