【问题标题】:If it's possible to generate a PDF file from a UITableView?如果可以从 UITableView 生成 PDF 文件?
【发布时间】:2011-08-09 04:16:01
【问题描述】:

我的应用程序有一个带有自定义单元格的表格视图(包括文本字段、标签和按钮),我想从表格视图生成一个 pdf 文件。

下面是代码(现在假设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文件。但是有什么好主意吗?

【问题讨论】:

    标签: iphone uitableview pdf-generation


    【解决方案1】:

    为了获得高质量的图像,

    使用

    UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 0.0) 
    

    而不是

    UIGraphicsBeginImageContext(screenRect.size)
    

    @JeffWood:感谢一百万,您的回答:)

    【讨论】:

      【解决方案2】:

      您好,您可以通过以下代码将当前视图转换为图像,然后您必须使用该图像通过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;
         }
      

      【讨论】:

      • 这是我非常喜欢 Cocoa 和 CoreGraphics 的那种东西——原语和更高级别的操作和类型很好地结合在一起。在做一些严肃的 UIView 子类化之前,我从来没有真正欣赏过有状态的图形系统(即 postscript)。
      • 谢谢,我得到了这个工作,但我想如果 tableview 的内容大于 tableview,如何捕获整个 tableview?
      • Dio,如果它有效,请勾选答案并放弃投票..它将对其他人有所帮助..
      • 是的,,, 当桌面高度在 iphone 和 1024 ipad 中低于 480 时,您是正确的,但是当 iphone 的大小超过 480,ipad 的大小超过 1024 时怎么办...这里我不要考虑表格框架中的导航栏和标签栏..
      • 我们只能生成UItableview可见的rects。
      猜你喜欢
      • 1970-01-01
      • 2013-12-30
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 2014-09-29
      • 2010-12-18
      • 2014-09-08
      相关资源
      最近更新 更多