Разработка пользовательского бэкенда для CUPS

Цель проекта

Создать работоспособный драйвер (бэкенд) для системы печати CUPS в операционной системе Linux, позволяющий использовать специализированный принтер, не имеющий официальной поддержки.

Основные задачи

  • Анализ протокола взаимодействия и возможностей целевого печатающего устройства.
  • Написание бэкенда (фильтра/драйвера) на языке C или совместимом скриптовом языке (например, Python), который будет корректно интегрироваться в архитектуру CUPS.
  • Реализация базовых функций: отправка заданий на печать, обработка статуса устройства, управление очередью.
  • Тестирование работы бэкенда в среде Linux с актуальной версией CUPS.
  • Предоставление инструкции по установке и настройке созданного решения.

Требования к результату

  • Готовый исходный код бэкенда с комментариями.
  • PPD-файл (PostScript Printer Description) или его эквивалент для настройки принтера в CUPS.
  • Краткая документация по установке и использованию.
  • Решение должно быть самодостаточным и не требовать для работы проприетарного ПО.

Технический контекст

Исполнителю необходимо понимать архитектуру системы печати CUPS в Linux, принципы работы бэкендов (backends) и фильтров. Приветствуется опыт работы с низкоуровневыми протоколами печати.