Objective C Printing:如何设置标题内容?

时间:2009-11-30 22:43:45

标签: cocoa image printing header nsview

我想打印一个特定的NSView。当我这样做时,我希望将内容添加到打印页面的标题中。

e.g。如果NSView包含猫的图片,当我按下打印时,打印预览会显示猫的图片。我希望打印出来的是一张猫的图片,标题中标题为“Cat”,我不想在原始NSView上看到它。

另外,如果可以的话,是否也可以添加图像?

谢谢!

2 个答案:

答案 0 :(得分:7)

您可以覆盖- (NSAttributedString *)pageHeader子类中的方法NSView。请参阅Apple的文档here

请注意,仅当用户默认值包含值为{{p>}的键NSPrintHeaderAndFooter时,才会生成标题。

对于图片,可以使用NSAttributedString将这些图片添加到NSTextAttachment

答案 1 :(得分:2)

如果您想在屏幕上以不同于打印机的方式绘制内容,可以在drawRect:方法中使用isDrawingToScreen方法。

例如:

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