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