从UIWebView创建UIImage然后添加到pdf

时间:2015-04-11 03:26:55

标签: ios objective-c pdf uiwebview uiimage

我在Objective C中创建了一个pdf,我创建了pdf,一切正常。我有NSString包含HTML代码我想从此创建UIWebView,然后从UIImage创建UIWebView,最后添加{ {1}}我正在创建的PDF文件。

这是我到目前为止所做的:

UIImage

唯一显示的是白色块..如果我预览// inside create pdf method. UIWebView *tempDescWV = [[UIWebView alloc] init]; NSString *updatedDescHTML = [NSString stringWithFormat:@"<script type=""text/javascript"" src=""./myscript.js"">%@</script>", descriptionHTML]; [tempDescWV loadHTMLString:updatedDescHTML baseURL:nil]; // pdf creation code all goes here. // now I try to load my UIImage onto the pdf. UIImage *tempImage = [self imageFromWebView:tempDescWV]; [tempImage drawInRect:CGRectMake(65.0, 55.0, 210.0, 550.0)]; 它完全空白,但是当我调试我用于UIWebView的字符串时,我可以看到{{1}在那里。

这是loadHTMLString方法,这似乎有效,只是html现在被加载到HTML

imageFromWebView

2 个答案:

答案 0 :(得分:0)

UIWebView以异步方式加载,因此在您尝试拍摄图像时,它不会呈现任何内容。您应该将自己设置为webview的委托,然后在webViewDidFinishLoad:回调中创建您的图片。

答案 1 :(得分:0)

首先是正确的丹写道。拍摄使用以下内容:

- (UIImage *)takeScreenshotFromView:(UIView*)theView { //pass here your webview
    UIGraphicsBeginImageContextWithOptions(theView.bounds.size, NO, [UIScreen mainScreen].scale);

    [theView drawViewHierarchyInRect:theView.bounds afterScreenUpdates:YES];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}