我想打印一个特定的NSView。当我这样做时,我希望将内容添加到打印页面的标题中。
e.g。如果NSView包含猫的图片,当我按下打印时,打印预览会显示猫的图片。我希望打印出来的是一张猫的图片,标题中标题为“Cat”,我不想在原始NSView上看到它。
另外,如果可以的话,是否也可以添加图像?
谢谢!
答案 0 :(得分:7)
您可以覆盖- (NSAttributedString *)pageHeader
子类中的方法NSView
。请参阅Apple的文档here。
请注意,仅当用户默认值包含值为{{p>}的键NSPrintHeaderAndFooter
时,才会生成标题。
对于图片,可以使用NSAttributedString
将这些图片添加到NSTextAttachment
。
答案 1 :(得分:2)
如果您想在屏幕上以不同于打印机的方式绘制内容,可以在drawRect:方法中使用isDrawingToScreen方法。
例如:
if (![[NSGraphicsContext currentContext] isDrawingToScreen]) {
//draw printer headers and images
}