Можно ли конвертировать html (uiwebview) на iphone в pdf или png?

Я хотел бы иметь возможность загрузить веб-страницу, а затем сохранить ее как pdf или png (или сохранить ее локально со всеми файлами html, image, css и т. Д.). Это сделано для того, чтобы страницу можно было просматривать без подключения к Интернету. Есть стандартный способ сделать это?


person cannyboy    schedule 21.10.2009    source источник


Ответы (3)


Боюсь, что единственный способ полностью кэшировать страницу - это:

  1. Сохраните HTML в файл
  2. Просмотрите файл и сохраните все связанные ресурсы (изображения, таблицы стилей, javascript).

Даже в этом случае некоторые страницы могут быть не полностью кэшированы, поскольку javascript может потребовать подключения в другом месте для извлечения данных.

Если вы хотите сделать снимок экрана, есть частный API, который вы можете использовать, чтобы сделать снимок экрана:

CGImageRef UIGetScreenImage();
@interface UIImage (ScreenImage)
+ (UIImage *)imageWithScreenContents;
@end

@implementation UIImage (ScreenImage)
+ (UIImage *)imageWithScreenContents
{
    CGImageRef cgScreen = UIGetScreenImage();
    if (cgScreen) {
        UIImage *result = [UIImage imageWithCGImage:cgScreen];
        CGImageRelease(cgScreen);
        return result;
    }
    return nil;
}
@end
person coneybeare    schedule 21.10.2009

UIWebView будет отображать вне экрана, пока он находится в иерархии представлений активного окна. Затем вы можете отобразить его в буфере PNG.

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

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

person Marco    schedule 23.10.2009

Так же можно экспортировать документ в документ Google, а затем загрузить его обратно в формате PDF. Думаю, дело здесь в том, чтобы делать это без подключения к сети.

person Devraj    schedule 05.12.2010