2011-06-22 43 views
2

我正在嘗試實現打印視圖,以便與使用許多WebViews呈現內容的NSPrintOperation一起使用。想象主題式幻燈片,其中每張幻燈片都是WebView。使用多個WebViews進行打印

爲了有效地做到這一點,我想只想補充一點,需要對當前頁面的網頁視圖。

我曾嘗試加入網頁視圖直接爲主體的打印視圖的子視圖,但WebView中不正確的佈局,即使我延遲從印刷方式返回給它一個機會來完成。

然後,我嘗試在WebViews上使用cacheDisplayInRect:toBitmapImageRep:並在NSImageView中使用結果,而不是直接將WebView添加到打印視圖。這是有效的,但是位圖的打印質量不如我想要的那麼好。

最後,我想我可以代替生成PDF,並使用它。但dataWithPDFInsideRect:方法受到原始問題的影響,即佈局混亂。

如何在打印視圖的子視圖或沿着cacheDisplayInRect:toBitmapImageRep生成PDF時使WebViews正確佈局:可以與NSImageView一起使用?

回答

2

我似乎找到了解決這個自己。如果我使用方法displayRectIgnoringOpacity:inContext:來繪製每個WebView,而不是將它們作爲子視圖添加到打印視圖,則佈局很好。這樣做可能是cacheDisplayInRect:...在後臺執行的操作。