パスワードを忘れた? アカウント作成
464557 journal

hylomの日記: WebViewで印刷時にheader/footerを付ける

日記 by hylom

メモ。

・PrintInfoでNSPrintHeaderAndFooterをYESにするだけではWebViewではheader/footerは印刷されない。
・これは、header/footerの印刷処理がNSViewの-drawPageBorderWithSize: で定義されているから
・WebViewでの印刷処理(実際にはその子要素のView、HTMLの場合WebHTMLView?)の-drawPageBorderWithSize: にはこの処理は実装されていない
・WebHTMLViewはパブリックなクラスではないので、無理やり定義+カテゴリを使って-drawPageBorderWithSize: を置き換え、NSViewの-drawPageBorderWithSize: を実行後にWebHTMLViewの-drawPageBorderWithSize: を実行するようにすればうまくいくんじゃないかい?
・WebHTMLViewのソースは幸いにしてオープン化されているので利用可能。

ということで明日テストしてみる。てかてっきりheader/footerの印刷はNSPrintOperation側でpageHeader/pageFooterを呼んでやっているものだと勘違いしていてハマった感大。

参考資料はhttp://developer.apple.com/releasenotes/Cocoa/AppKitOlderNotes.htmlとかhttp://developer.apple.com/documentation/Cocoa/Conceptual/Printing/Printing.htmlとか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...