2011-06-22 39 views
2

コンテンツのレンダリングに多くのWebViewを使用するNSPrintOperationで使用する印刷ビューを実装しようとしています。基調講演のようなスライドを考えてみましょう。各スライドはWebViewです。複数のWebViewで印刷

これを効率的に行うには、現在のページに必要なWebViewを追加するだけです。

私は、メインの印刷ビューのサブビューとしてWebViewを直接追加しようとしましたが、印刷方法から戻って終了するチャンスを与えても、WebViewが正しくレイアウトされません。

次に、WebViewsでcacheDisplayInRect:toBitmapImageRep:を使用し、WebViewsを直接印刷ビューに追加する代わりにNSImageViewで結果を使用してみました。これは動作しますが、ビットマップの印刷品質は私が望むほど良くはありません。

最後に、私は代わりにPDFを生成してそれを使用できると考えました。しかし、dataWithPDFInsideRect:メソッドは、元の問題を抱えていて、レイアウトが乱れています。

印刷ビューのサブビュー時にWebViewsを適切にレイアウトしたり、cacheDisplayInRect:toBitmapImageRep:NSImageViewで使用できる行に沿ってPDFを生成するにはどうすればよいですか?

答えて

2

私はこれに対する解決策を見つけました。 displayRectIgnoringOpacity:inContext:メソッドを使用して、各WebViewをサブビューとして印刷ビューに追加するのではなく、描画する場合、レイアウトは問題ありません。これを行うことはおそらくcacheDisplayInRect:...の背後にあることです。

関連する問題