Печать с несколькими WebViews - PullRequest
2 голосов
/ 22 июня 2011

Я пытаюсь реализовать представление печати для использования с NSPrintOperation, которое использует много WebView для отображения содержимого. Подумайте о слайдах, похожих на ключевые слова, где каждый слайд представляет собой WebView.

Чтобы сделать это эффективно, я пытаюсь просто добавить веб-представления, необходимые для текущей страницы.

Я попытался добавить веб-представления непосредственно в качестве подпредставлений основного представления печати, но веб-представление не работает должным образом, даже если я задерживаюсь, возвращаясь из метода печати, чтобы дать ему возможность закончить.

Затем я попытался использовать cacheDisplayInRect: toBitmapImageRep: в WebViews и использовать результат в NSImageView вместо добавления WebView непосредственно в представление печати. Это работает, но качество печати растрового изображения не так хорошо, как хотелось бы.

Наконец, я подумал, что мог бы вместо этого создать PDF-файл и использовать его. Но dataWithPDFInsideRect: метод страдает от исходной проблемы, где макет испорчен.

Как я могу получить правильное расположение веб-представлений при представлении представления печати или создать PDF-файл в соответствии с cacheDisplayInRect: toBitmapImageRep: который можно использовать с NSImageView?

1 Ответ

2 голосов
/ 22 июня 2011

Кажется, я сам нашел решение этой проблемы. Если я использую метод displayRectIgnoringOpacity: inContext: для рисования каждого WebView, вместо добавления их в качестве подпредставления к представлению печати, макет в порядке. Возможно, именно это и делает cacheDisplayInRect: ... за кулисами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...