OpenPrinting
OpenPrinting — это проект по разработке свободного программного обеспечения для печати в операционных системах семейства Unix, включая Linux. Проект предоставляет набор драйверов, утилит, библиотек и документации, обеспечивающих поддержку широкого спектра принтеров, сканеров и многофункциональных устройств (МФУ). OpenPrinting является преемником проекта LinuxPrinting.org и с 2006 года развивается под эгидой Linux Foundation.
История
Проект LinuxPrinting.org был основан в конце 1990-х годов для решения проблемы отсутствия в Linux драйверов для большинства коммерческих принтеров. Разработчики создавали драйверы на основе обратного инжиниринга или используя открытые спецификации производителей. В 2006 году проект был переименован в OpenPrinting и переведён под управление Linux Foundation. Основной целью стало создание единой инфраструктуры для печати, не зависящей от конкретного производителя.
Ключевым этапом развития стало внедрение архитектуры CUPS (Common Unix Printing System). В 2007 году компания Apple Inc. приобрела CUPS и сделала её стандартной системой печати в macOS, а OpenPrinting продолжил разработку драйверов и утилит для Linux. В 2010-х годах проект сосредоточился на поддержке современных протоколов, таких как IPP Everywhere и AirPrint, а также на создании универсальных драйверов.
Архитектура и компоненты
OpenPrinting не является единой программой, а представляет собой набор взаимосвязанных компонентов, работающих в связке с CUPS.
Драйверы
Основной компонент — драйверы принтеров. OpenPrinting поддерживает три основных типа драйверов:
- PostScript Printer Description (PPD) — файлы описания возможностей принтера, используемые CUPS. OpenPrinting предоставляет PPD-файлы для тысяч моделей.
- Gutenprint — набор драйверов для струйных и лазерных принтеров, основанный на библиотеке Ghostscript. Поддерживает более 700 моделей.
- HPLIP — драйверы для принтеров и МФУ Hewlett-Packard, разрабатываемые при участии OpenPrinting. Включают поддержку сканирования и управления устройством.
Утилиты
- system-config-printer — графический интерфейс для настройки принтеров в средах GNOME и KDE.
- foomatic-filters — набор фильтров для преобразования данных в формат, понятный принтеру. Используется для работы с устаревшими моделями.
- cups-filters — современная замена foomatic-filters, оптимизированная для работы с CUPS 2.x и выше.
База данных
OpenPrinting ведёт крупнейшую базу данных совместимости принтеров с Linux. Она содержит информацию о более чем 3000 моделях, включая уровень поддержки (полная, частичная, отсутствует) и рекомендуемые драйверы. База доступна онлайн на сайте проекта и используется дистрибутивами для автоматической настройки.
Применение
OpenPrinting используется во всех основных дистрибутивах Linux (Ubuntu, Fedora, Debian, openSUSE, Arch Linux и других) в качестве стандартного набора драйверов для печати. В большинстве дистрибутивов пакеты OpenPrinting устанавливаются по умолчанию или доступны в официальных репозиториях.
Проект также используется в корпоративной среде для развёртывания печати на серверах Linux, а также в образовательных учреждениях и государственных организациях, где требуется поддержка широкого спектра оборудования без привязки к коммерческим драйверам.
Критика и ограничения
Несмотря на широкую поддержку, OpenPrinting имеет ряд недостатков:
- Неполная совместимость — для некоторых моделей принтеров, особенно новых или выпущенных малыми партиями, драйверы могут отсутствовать или работать с ограничениями.
- Сложность настройки — для старых принтеров (до 2005 года) может потребоваться ручная установка драйверов и настройка фильтров, что затруднительно для неопытных пользователей.
- Зависимость от производителей — многие производители не предоставляют открытых спецификаций, что вынуждает разработчиков OpenPrinting использовать методы обратного инжиниринга. Это может приводить к ошибкам и нестабильной работе.
- Отсутствие поддержки некоторых функций — например, двусторонняя печать или работа с картриджами сторонних производителей могут быть реализованы не полностью.
Современное состояние
По состоянию на 2024 год OpenPrinting остаётся основным проектом по обеспечению печати в Linux. Разработка ведётся на GitHub, где регулярно выходят обновления драйверов и фильтров. Проект активно сотрудничает с производителями принтеров (Brother, Epson, Canon, HP) для включения поддержки новых моделей.
В 2023 году была выпущена версия 2.0.0 cups-filters, которая полностью отказалась от устаревших форматов и перешла на использование IPP Everywhere. Это позволило упростить настройку печати для современных принтеров, поддерживающих протокол IPP.
Интересные факты
- Проект OpenPrinting поддерживает не только принтеры, но и сканеры через библиотеку SANE (Scanner Access Now Easy).
- В базе данных OpenPrinting содержится информация о принтерах, выпущенных с 1980-х годов до настоящего времени.
- Некоторые драйверы OpenPrinting используются в операционной системе ChromeOS для поддержки печати.
- Проект участвует в разработке стандарта IPP Everywhere, который позволяет печатать без установки драйверов на устройствах, поддерживающих этот протокол.
Источники
- Официальный сайт проекта OpenPrinting
- Документация Linux Foundation по печати
- Статья «CUPS and OpenPrinting» в журнале Linux Journal
- Репозиторий cups-filters на GitHub
- База данных совместимости принтеров OpenPrinting
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →