Я создаю pdf в Objective C, я создал pdf-файл, и все работает нормально. У меня есть NSString
, который содержит код HTML
. Я хотел бы создать UIWebView
, а затем создать UIImage
из UIWebView
и, наконец, добавить в pdf, который я создаю.создать UIImage из UIWebView, а затем добавить в pdf
Это то, что я сделал до сих пор:
// 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
его полностью пустым, однако, когда я отладки строки, я использую для loadHTMLString
Я вижу HTML
там.
это imageFromWebView
метод, это, похоже, работает только с html теперь загружается в UIWebView
.
- (UIImage *) imageFromWebView:(UIWebView *)view
{
// tempframe to reset view size after image was created
CGRect tmpFrame = view.frame;
// set new Frame
CGRect aFrame = view.frame;
aFrame.size.height = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
view.frame = aFrame;
// do image magic
UIGraphicsBeginImageContext([view sizeThatFits:[[UIScreen mainScreen] bounds].size]);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
[view.layer renderInContext:resizedContext];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// reset Frame of view to origin
view.frame = tmpFrame;
return image;
}
Я попытался использовать это, но на линии, где ваш помощью drawViewHierarchyInRect: приложение сбой с EXC_BAD_ACCESS (код = 1 ... – HurkNburkS