Открыть сервис

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 →