Доступний PAPPL 1.2 фреймворк для організації виведення на друк

Майкл Світ (Michael R Sweet), автор системи друку CUPS, представив випуск PAPPL 1.2, фреймворку для розробки програм для друку на базі протоколу IPP Everywhere, які рекомендується використовувати замість традиційних драйверів для принтерів. Код фреймворку написаний мовою Сі і поширюється під ліцензією Apache 2.0 за винятком, що дозволяє зв'язування з кодом під ліцензіями GPLv2 та LGPLv2.

Серед змін у новій версії:

  • Додано повну підтримку локалізації. Базові набори локалізації запропоновані для англійської, французької, німецької, італійської, японської та іспанської мов.
  • Покращено підтримку платформи macOS. Забезпечено інтеграцію з верхнім глобальним меню macOS. Додано можливість виконання програм виведення на друк у режимі сервера.
  • Додана підтримка інтерполяції при виведенні на друк JPEG-зображень або при використанні функції papplJobFilterImage з увімкненим згладжуванням.
  • Реалізовано додаткові можливості протоколу IPP (Internet Printing Protocol) та додано нові API: papplDeviceGetSupplies для визначення рівня чорнила та тонера, papplSystemAddEvent/papplSubscriptionXxx для обробки IPP-повідомлень, papplSystemGet/SetMaxClients для обмеження кількості клієнтів. У функціях papplPrinterDisable та papplPrinterEnable додано підтримку IPP-атрибута «printer-is-accepting-jobs».
  • Додана можливість завдання власних розмірів листів у міліметрах.
  • Додано підтримку бібліотек OpenSSL та LibreSSL.
  • Оновлено код USB Gadget, який використовується для створення клієнтських USB-пристроїв та програмної симуляції USB-пристроїв.
  • Забезпечена прив'язка до користувача каталогу зі спулом друку, що застосовується за умовчанням.
  • Поліпшено сумісність із бібліотекою libcups3.

Фреймворк PAPPL був спочатку розроблений для підтримки системи друку LPrint та драйверів Gutenprint, але може бути використаний для реалізації підтримки будь-яких принтерів та драйверів при виведенні на друк на настільних, серверних та вбудованих системах. Передбачається, що PAPPL зможе сприяти прискоренню просування технології IPP Everywhere замість класичних драйверів та спрощенню підтримки інших програм на основі IPP, таких як AirPrint та Mopria.

PAPPL включає вбудовану реалізацію протоколу IPP Everywhere, що надає засоби для доступу до принтерів локально або через мережу та обробки запитів щодо виведення на друк. IPP Everywhere працює у бездрайверному режимі («driverless») та на відміну від драйверів PPD не вимагає створення статичних файлів конфігурації. Підтримується взаємодія з принтерами безпосередньо через локальне підключення принтера по USB, так і звернення по мережі за допомогою протоколів AppSocket і JetDirect. Дані можуть надсилатися на принтер у форматах JPEG, PNG, PWG Raster, Apple Raster та Raw.

PAPPL може бути зібраний для POSIX-сумісних ОС, включаючи Linux, macOS, QNX та VxWorks. Залежно відзначається Avahi (для підтримки mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (для аутентифікації) та ZLIB. На базі PAPPL проектом OpenPrinting розвивається універсальний додаток PostScript Printer Application, здатний працювати як з сучасними IPP-сумісними принтерами (використовується PAPPL), що підтримують PostScript і Ghostscript, так і зі старими принтерами, для яких є драйвери PPD (застосовуються фільтри cups-fil ).

Джерело: opennet.ru

Додати коментар або відгук