我的应用程序有一个包含自定义单元格的tableview(包括textfield,label和button),我想从tableview生成一个pdf文件。
Bellow是代码(现在假设tableview的内容全部可见):
UIGraphicsBeginImageContext(self._tableView.bounds.size);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, self._tableView.bounds.size.width, self._tableView.bounds.size.height), nil);
// what's the code here?
// [self._tableView drawInRect:];
UIGraphicsEndPDFContext();
我总是生成一个空白的pdf文件。 目前我所做的是将tableview生成为图像,然后将图像绘制到当前上下文,然后获取pdf文件。但是有什么好主意吗?
答案 0 :(得分:5)
HI,您可以通过以下代码将当前视图转换为图像,然后您必须使用该图像通过link
创建PDF文件 - (UIImage *)captureView:(UIView *)view {
CGRect screenRect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(screenRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextFillRect(ctx, screenRect);
[view.layer renderInContext:ctx];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
答案 1 :(得分:-1)
为了获得高质量的图像,
使用
UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 0.0)
而不是
UIGraphicsBeginImageContext(screenRect.size)
@JeffWood:感谢一百万,谢谢你的答案:)