Я хотел бы иметь возможность загрузить веб-страницу, а затем сохранить ее как pdf или png (или сохранить ее локально со всеми файлами html, image, css и т. Д.). Это сделано для того, чтобы страницу можно было просматривать без подключения к Интернету. Есть стандартный способ сделать это?
Можно ли конвертировать html (uiwebview) на iphone в pdf или png?
Ответы (3)
Боюсь, что единственный способ полностью кэшировать страницу - это:
- Сохраните HTML в файл
- Просмотрите файл и сохраните все связанные ресурсы (изображения, таблицы стилей, 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
UIWebView будет отображать вне экрана, пока он находится в иерархии представлений активного окна. Затем вы можете отобразить его в буфере PNG.
Обратной стороной является то, что он не будет иметь размер больше экрана, поэтому вы можете фотографировать страницу только с шагом в размер экрана.
Намного лучший способ - это сделать то, что предлагается, и сохранить код и ресурсы страницы.
Так же можно экспортировать документ в документ Google, а затем загрузить его обратно в формате PDF. Думаю, дело здесь в том, чтобы делать это без подключения к сети.