скриншот высокого разрешения / или pdf из uiwebview - PullRequest
1 голос
/ 26 сентября 2010

Я хочу сохранить скриншот или сгенерировать pdf из текстового содержимого UIWebView.Я знаю о том, как делать скриншоты, как описано в:

http://developer.apple.com/library/ios/#qa/qa2010/qa1703.html

Дело в том, что я хотел бы иметь скриншот в 300 точек на дюйм.Это постоянное требование для генерации контента в UIWebView.

Я думал о создании касаний для увеличения масштаба в UIWebView, создания нескольких скриншотов при большом увеличении и их сшивания.есть более элегантное решение?

Спасибо, b00tsy

1 Ответ

1 голос
/ 26 сентября 2010

Дело в том, что я хотел бы иметь скриншот в 300 точек на дюйм.Это постоянное требование для генерации контента в UIWebView.

Я не уверен, что это легко сделать.

UIWebView использует WebKit.Похоже, что он рендерится на тайлы в фоновом режиме и, похоже, делает некоторый предварительный рендеринг, но если вы быстро прокручиваете, вы можете иногда видеть фишки, которые не были отрисованы достаточно быстро.Нет простого способа узнать, когда WebKit завершил рендеринг страницы.

Наименее уродливый способ - создать более полноэкранный UIWebView и визуализировать его слой.Установка scalesPageToFit = YES может помочь.

Также обратите внимание, что UIWebView учитывает разрешение экрана при рендеринге (то есть он выполняет рендеринг в высоком разрешении на iPhone 4).Это означает, что вы получите лучшие результаты на iPhone 4 / iPod Touch 4g.Это также означает, что вы можете «обмануть» UIWebView, думая, что экран имеет более высокое разрешение, чем оно есть на самом деле (возможно, вам удастся настроить webView.layer.contentsScale в OS 4.0+).

(И FWIW, «300 точек на дюйм» является неопределенным требованием - «дисплей сетчатки» превышает 300 точек на дюйм.)

...