如果可以从UITableView生成PDF文件?

时间:2011-04-20 03:51:24

标签: iphone uitableview pdf-generation

我的应用程序有一个包含自定义单元格的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文件。但是有什么好主意吗?

2 个答案:

答案 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:感谢一百万,谢谢你的答案:)