特定の NSView を印刷したい。これを行うとき、印刷ページのヘッダーにコンテンツを追加したいと思います。
たとえば、NSView に猫の写真が含まれている場合、印刷を押すと、印刷プレビューに猫の写真が表示されます。ヘッダーに「猫」というキャプションが付いた猫の写真を印刷したいのですが、元の NSView には表示したくありません。
また、可能でしたら画像も付けていただくことは可能でしょうか?
ありがとう!
サブクラスでメソッド- (NSAttributedString *)pageHeader
を上書きできます。こちらNSView
の Apple のドキュメントを参照してください。
NSPrintHeaderAndFooter
ヘッダーは、ユーザーのデフォルトに値が YESのキーが含まれている場合にのみ生成されることに注意してください。
NSAttributedString
画像については、を使用してに追加できますNSTextAttachment
。
プリンターとは異なる方法で画面に描画したい場合は、 drawRect: メソッドで isDrawingToScreen メソッドを使用できます。
例えば:
if (![[NSGraphicsContext currentContext] isDrawingToScreen]) {
//draw printer headers and images
}