Печать системного потока операций и пользовательского интерфейса

Прошли те дни, когда пользователи должны были загрузить и установить драйвера принтера, и OS X должен был упаковать и распределить большие пакеты их. Печать на Mac не только проста для пользователя, но и современный API, предоставленный OS X, прост для Вас использовать в Вашем приложении. Печать единственной страницы из приложения может проводить всего несколько строк кода. Коду для управления разбиением на страницы, полями, заголовками и нижними колонтитулами для многостраничных документов с точным расположением нужно больше кода, но это прямо для записи.

Системный поток операций печати

Печать обычно инициируется пользователем, выбирающим команду Меню печати. Приложение использует AppKit, распечатывающий API для сборки элементов задания печати, включая содержание для печати и информация о задании печати. Приложение тогда представляет панель Print, как описано в Пользовательском интерфейсе Печати. Пользователь может тогда установить параметры печати прежде, чем щелчок по Print. В той точке платформа AppKit просит, чтобы приложение нарисовало содержание для печати. AppKit записывает то, что приложение рисует как данные PDF и затем вручает от тех данных подсистеме печати.

Рисунок 1-1  архитектура системы печати

Подсистема печати пишет данные PDF, которые она получает к хранению (т.е. шпульки данные). Это также получает информацию о задании печати. Подсистема печати управляет объединенными данными печати и метаданными для каждого задания печати в очереди печати метода «первым пришел - первым вышел». Многократные приложения на компьютере могут представить многократные задания печати подсистеме печати, и все они помещаются в очередь печати. Каждый компьютер имеет одну очередь для всех заданий печати независимо от исходного приложения или целевого принтера.

Когда задание печати повышается до вершины очереди, системный демон печати (cupsd) рассматривает требования целевого принтера и, при необходимости, преобразовывает данные печати в форму, которая применима принтером. Подсистема печати сообщает о состояниях ошибки такой как “Из Бумаги” пользователю как предупреждения. Это также сообщает о прогрессе заданий печати программно к приложению PrintProxy, выводящему на экран информацию, такую как “страница 2 5” для задания печати. (Приложение PrintProxy берет имя принтера. Это - приложение дисплеи задания печати с очередями для того принтера и позволяет пользователю приостанавливать, возобновлять, и отменять задания, которые находятся в очереди.)

Пользовательский интерфейс печати

Когда пользователь выбирает Print из меню File, им дарят панель Print как показано на рисунке 1-2. Всплывающее меню Принтера заполняется с последним используемым принтером. Пользователь может пролистать предварительный просмотр документа, который имеет многократные страницы и может принять решение распечатать все страницы или установить диапазон. Для большинства пользователей простая панель Print - все, в чем они когда-либо нуждаются. Они никогда не могли бы видеть ни один из других элементов пользовательского интерфейса, описанных в этом разделе. Но для тех пользователей, требующих большего количества управления процессом печати и принтерами, которые они используют, OS X обеспечивает его.

  Панель The Print рисунка 1-2 как лист в Предварительном просмотре

Пользователь может нажать кнопку Show Details для управления множеством параметров печати включая расположение, согласование цветов и обработку документов. Много опций зависят от функций, доступных для указанного принтера, таких как доступность двусторонней печати. Приложение может предоставить свои собственные опции, как показано на рисунке 1-3. В этом примере Предварительный просмотр поддерживает вращение, масштабирование, копии на страницу, и как заполнить страницу изображением.

  Панель The Print рисунка 1-3 с Предварительным просмотром, пользовательским вспомогательный представление

Приложения могут выбрать, вывести ли на экран панель Print как лист или отдельное окно, несмотря на то, что наиболее распространено показать лист, таким образом, пользователь может легко видеть окно, к которому применяется панель.

Выбор принтера для печати прост для пользователя, которого они делают через всплывающее меню Принтера в панели Print. Пользователь может выбрать из списка соседних принтеров, и OS X устанавливает принтер автоматически. Пользователь, которому нужно больше управления при добавлении печатающих устройств, может выбрать Add Printer для доступа к окну Add как показано на рисунке 1-4. Это окно автоматически заполняется устройствами, которые OS X может обнаружить, включая принтеры AirPrint. У пользователей есть опция добавить определенное имя хоста или IP-адреса, а также добавить Факс и принтеры рабочей группы Windows.

  Окно Figure 1-4 The Add Printer

Некоторые приложения также предоставляют пользователям опцию установить страницу через область Page Setup как показано на рисунке 1-5. Большую часть времени пользователи не должны должны быть выполнять любую установку через эту панель. Таким образом, если для Вашего приложения не нужен он, сделайте пользовательский опыт более простым, не обеспечив команду Page Setup.

  Панель Figure 1-5 The Page Setup

Пользователи могут управлять принтерами через предпочтительную область Печати и Сканирования в Установках системы, как показано на рисунке 1-6.

Рисунок 1-6  предпочтительная область Печати и Сканирования

OS X автоматически добавляет недавно используемые принтеры к списку, но пользователь может добавить других, а также удалить любого в списке. Открытие очереди печати предоставляет пользователю опцию приостановить задание печати и получить доступ к параметрам принтера. Путем нажатия кнопки Options & Supplies пользователь может определить имя принтера, управлять опциями драйвера, проверить уровни запасов и открыть служебное приложение принтера.