Цель C Печать: Как установить содержимое заголовка? - PullRequest
1 голос
/ 01 декабря 2009

Я хочу напечатать определенный NSView. Когда я сделаю это, я хочу добавить контент в заголовок страницы печати.

например. Если NSView содержит изображение кота, когда я нажимаю на печать, отображается предварительный просмотр с изображением кота. Я хочу, чтобы распечатка была изображением кошки с заголовком «Cat» в заголовке, который я не хочу видеть в исходном NSView.

Кроме того, если это возможно, возможно ли также добавлять изображения?

Спасибо!

Ответы [ 2 ]

7 голосов
/ 01 декабря 2009

Вы можете перезаписать метод - (NSAttributedString *)pageHeader в своем подклассе NSView. См. Документацию Apple здесь .

Обратите внимание, что заголовки генерируются, только если пользовательские значения по умолчанию содержат ключ NSPrintHeaderAndFooter со значением YES.

Что касается изображений, их можно добавить к NSAttributedString, используя NSTextAttachment.

2 голосов
/ 01 декабря 2009

Если вы хотите рисовать вещи на экране иначе, чем принтер, вы можете использовать метод isDrawingToScreen в вашем методе drawRect:.

Например:

if (![[NSGraphicsContext currentContext] isDrawingToScreen]) {
//draw printer headers and images
}
...