Управление информационными объектами печати

NSPrintInfo объект содержит словарь, хранящий атрибуты, описывающие задание печати. Ключи словаря описаны в разделе «Constants» NSPrintInfo.

Установка совместно используемого информационного объекта печати

Можно установить экземпляр NSPrintInfo как совместно используемый экземпляр с помощью метода setSharedPrintInfo:. Вы получаете совместно используемое NSPrintInfo объект с помощью sharedPrintInfo метод класса.

Сохранение настроек печати для приложения

Снова использовать настройки печати использовало прошлый раз, когда Ваше приложение работало, запишите информационный объект печати как предпочтение приложения каждый раз, когда пользователь распечатывает что-то, и затем восстановите те настройки, когда запускается приложение.

Однако, потому что словарь, хранящий NSPrintInfo настройки печати объекта включают значения несписка свойств, это не надлежащий объект списка свойств. Поэтому это не может быть преобразовано в формат plist и сохранено непосредственно как предпочтительное значение. Вместо этого необходимо использовать NSKeyedArchiver (или NSArchiver) метод класса archivedDataWithRootObject: закодировать NSPrintInfo возразите как NSData объект, который может храниться в списке свойств или сохраняться к файлу.

Восстановить NSPrintInfo объект, перезагрузите объект NSData и затем используйте NSKeyedUnarchiver (или NSUnarchiver) метод класса unarchiveObjectWithData: декодировать NSPrintInfo информация.

Сохранение настроек печати для документа

В основанном на документе приложении, каждом NSDocument экземпляр имеет свой собственный информационный объект печати, который можно получить путем вызова printInfo метод NSDocument. Документ первоначально использует копию совместно используемого информационного объекта печати приложения (если Вы не устанавливаете тот сами). Когда пользователь вносит изменения в панели Page Setup, информационный объект печати документа автоматически обновляется с новыми настройками печати.

Поскольку настройки печати часто являются определенным документом, Вы могли бы хотеть сохранить их. Например, пользователь может распечатать широкую электронную таблицу в альбомном режиме. Ту установку нужно помнить каждый раз, когда документ распечатан, но не должен использоваться ни для каких других документов, которые пользователь может предпочесть распечатывать в режиме портрета. Поэтому каждый документ должен иметь свой собственный информационный объект печати, сохраняющийся с документом и использовавший каждый раз, когда определенный документ распечатан. Как прежде, необходимо закодировать NSPrintInfo объект в NSData объект. Затем необходимо записать данные в файл документа.