Управление информационными объектами печати
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
объект. Затем необходимо записать данные в файл документа.