Особенности новой архитектуры печати
Система печати в Mac OS X построена на единой для всех программ архитектуре. Идея состоит в том, чтобы создавать «образы» будущих страниц в «виртуальном пространстве» и лишь затем отображать эти образы в реальные страницы во время печати. При этом процессы «рисования» образов страниц и печати отделены друг от друга. Разработчики программ и драйверов принтеров теперь могут настраивать элементы стандартных диалоговых окон Page Setup и Print, не делая полную реконструкцию этих окон. Основные черты системы печати Mac OS X:
• Единая программа управления печатью Print Center для поиска, уста
новки, настройки принтеров, управления очередями заданий на пе
чать и так далее.
• PDF — основной внутренний тип данных. Любая программа может
сохранять текст и графику в формате PDF. Эта функция доступна че
рез обычное диалоговое окно команды Print или через программу
Print Center. Реализован единый механизм просмотра PDF-файлов
(в том числе и внутренних) для всех программ, кроме работающих в
окружении Classic.
• Поддержка практически всех типов принтеров: PostScript-принте
ров уровней 1, 2 и 3, растровых принтеров (матричных, струйных)
и других.
• Эффективный механизм спулинга печатных заданий.
Система печати Mac OS X модульная. Все модули можно разделить на две группы: клиентская часть и серверная. К клиентским модулям относятся: программа Print Center, браузер принтеров, менеджер печати и модули расширений диалога печати. Эти модули осуществляют взаимодействие системы с пользователем, принимают команды рисования от прикладных программ и передают необходимые данные в серверную часть системы. Серверная часть состоит из пяти модулей: сервера печати, менеджера заданий на печать, конвертера, принтерного модуля и модуля ввода-вывода.
Перед тем, как что-либо выводить на печать, надо сначала настроить саму систему печати. Прежде всего надо определиться с принтером. Браузер принтеров совместно с модулем ввода-вывода создает раздельные списки активных принтеров для каждого из поддерживаемых типов подключений, таких как USB, AppleTalk, Directory Services, LPR. Изготовители принтеров могут добавлять новые модули по мере появления принтеров других типов. Все доступные типы подключений появляются в соответствующем ниспадающем меню программы Print Center, которая хранит информацию об установленных принтерах (адреса, типы, модели и так далее)
Следующая фаза — уточнение параметров документа: формат листа, его ориентация, масштаб. Производители принтеров или разработчики программ могут добавлять дополнительне параметры настройки в диалог печати с помощью модулей расширений диалога.
Как только пользователь «нажал» кнопку Print или выбрал команду Print из меню, система печати начинает принимать команды рисования от прикладной программы и передавать их на сервер печати. Специально разработанный механизм описания параметров заданий на печать (листки заданий, job tickets) помогает отслеживать прохождение каждого задания.
Сервер печати организует очереди заданий, принимает запросы от Print Center’a и возвращает информацию о статусе заданий. Кроме того, сервер печати создает файл спулинга в формате PDF и передает управление менеджеру заданий на печать. Менеджер заданий анализирует поступивший запрос и ставит задание в очередь к соответствующему принтерному модулю. При необходимости конвертер преобразует данные из формата PDF в формат, поддерживаемый принтером, например PostScript. Модуль печати формирует команды, непосредственно управляющие растеризацией, а модуль ввода-вывода передает их в принтер.