合并屏幕截图和生成pdf文件

时间:2013-03-09 15:41:39

标签: iphone ios ipad

我正在尝试使用包含UITextfield,UITextview和UIImage的不同单元格创建UITable。我想生成一个类似报告的pdf,其中包含所有单元格,包括图像和文本。

我有为UITableviewcell制作一个屏幕截图的代码。但我不知道如何制作多个屏幕截图,然后将它们合并在一起形成一个pdf文件。

以下是制作UITableviewcell屏幕截图的代码。感谢

NSUInteger index[] = {0, 0}; // section, row
    NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndexes:index length:2];

    // Get the cell
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

    // Render a graphics context to turn your cell into a UIImage
    CGSize imageSize = cell.bounds.size;
    UIGraphicsBeginImageContext(imageSize);
    CGContextRef imageContext = UIGraphicsGetCurrentContext();

    [cell.layer renderInContext:imageContext];



    // Retrieve the screenshot image

    UIImage *imagefinal = UIGraphicsGetImageFromCurrentImageContext();



       UIGraphicsEndImageContext();

  UIImageWriteToSavedPhotosAlbum(imagefinal, nil, nil, nil);

1 个答案:

答案 0 :(得分:1)

我不知道如何拍摄多个屏幕截图,但我已经完成了一些编码,用于合并两个图像,您需要对此代码进行一些更改以合并多个屏幕截图。这是代码。

        CGSize endImageSize = CGSizeMake(0, 0);

        endImageSize =  CGSizeMake(CELL_IMAGE_WIDTH,DesiredHeight);


        UIGraphicsBeginImageContext(endImageSize);

        // draw images into this context
        [anOriginalImage1 drawInRect:CGRectMake(0, 0,
                                               endImageSize.width, IMAGE1_HEIGHT)];
        [anOriginalImage2 drawInRect:CGRectMake(0, IMAGE1_HEIGHT,
                                            endImageSize.width, IMAGE2_HEIGHT)];

        //convert context into a UIImage
        UIImage *endImage = UIGraphicsGetImageFromCurrentImageContext();

        //cleanup   
        UIGraphicsEndImageContext();