Печать
Большинству приложений требуется поддержка печати. Пользователи ожидают, что можно распечатать любое содержимое, видимое на экране. Платформа GNOME содержит библиотеки, помогающие обеспечить приложению возможность высококачественной печати.
- 3.7.1. Печать GNOME
- 3.7.2. CUPS
3.7.1 Печать GNOME
Заметим, что этот раздел устарел и вместо libgnomeprint и libgnomeprintui нужно использовать GtkPrint.Функции печати, встроенные непосредственно в GTK+ начиная с версии 2.10, предоставляют межплатформенный программный интерфейс печати для всех приложений. Стабильность программного и двоичного интерфейсов гарантирует, что Gnomeprint продолжит работать и поддерживаться весь жизненный цикл GNOME 2.
Подсистема печати GNOME состоит из двух библиотек, помогающих обеспечить высококачественную печать и целостный интерфейс приложения. В основе подсистемы печати находится библиотека libgnomeprint — библиотеки для создания данных в формате PostScript для отправки на принтер. Над ней находится библиотека libgnomeprintui, которая обеспечивает стандартные элементы управления печатью для пользовательского интерфейса.
Библиотека libgnomeprint реализует графическую модель PostScript, используемую большинством принтеров. Принтеры, не поддерживающие PostScript, используются с помощью CUPS, описанного ниже. Кроме стандартной графической модели PostScript libgnomeprint также поддерживает альфа-каналы и сглаживание.
Библиотека libgnomeprintui предоставляет стандартный диалог печати, диалог просмотра печати и множество других элементов управления и функциональность, необходимые для создания интуитивного пользовательского интерфейса печати. Подсистема печати GNOME берет на себя детали поиска принтеров, постановки в очередь задач печати, а также обеспечивает экспорт в форматах PostScript и PDF непосредственно в диалоге печати.
Библиотека libgnomeprint используется для формирования данных в формате PostScript для печати. А библиотека libgnomeprintui используется для построения пользовательского интерфейса печати, даже если готовые для печати данные получаются из другого источника. Использование подсистемы печати GNOME обеспечивает целостность пользовательского интерфейса и возможностей, которые пользователи ожидают от печатающих приложений.
3.7.2 CUPS
На большинстве систем GNOME CUPS (Common UNIX Printing System — общая система печати UNIX) выступает в роли низкоуровневой подсистемы печати. CUPS предоставляет современную, богатую возможностями архитектуру для поиска принтеров, доступа к параметрам принтеров, а также управление очередью заданий на печать для различных типов принтеров.
CUPS содержит набор утилит для автоматического поиска принтеров локально и в сети, что позволяет пользователям не только видеть все доступные принтеры, но и использовать различные типы принтеров без ручной настройки.
CUPS обеспечивает унифицированный интерфейс печати, независимо от расположения и типа принтера. Различные протоколы печати обрабатываются CUPS однообразно путём автоматического применения фильтров к содержимому, отправляемому на принтеры. Приложениям достаточно предоставить данные в формате PostScript, а CUPS автоматически конвертирует их для принтеров, не поддерживающих PostScript.
CUPS также предоставляет параметры в виде файлов описания принтера PostScript (PPD). Параметры PPD позволяют приложениям отражать в пользовательском интерфейсе возможности конкретного принтера целостно. Например, PPD позволяет определить и отразить в пользовательском интерфейсе поддерживает ли принтер брошюрование и прошивку результатов печати задания.
В большинстве случаев в приложении нет необходимости напрямую взаимодействовать с CUPS, так как с помощью подсистемы печати GNOME можно получить доступ к мощности и гибкости CUPS автоматически. Основа CUPS помогает создать больше удобств для пользователя с меньшим объемом программирования.