Iphone 生成文档缩略图

Iphone 生成文档缩略图,iphone,objective-c,ios,ipad,qlpreviewcontroller,Iphone,Objective C,Ios,Ipad,Qlpreviewcontroller,我试图显示一个文档网格(保存在documents目录中),但我不知道如何生成文档的缩略图。文档可以是qlviewcontroller可以显示的任何内容。PDF和图像都很好,但是像.doc这样的东西我不知道。任何指导都会有所帮助。因为您有一个UIView,可以显示这些文档中的任何一个,所以您可以选择一个快捷方式: -使用显示的文档创建预览控制器的实例 -不要将此视图/控制器添加到任何内容 -从其图层创建图像 这可能有助于: + (UIImage *)imageFromView:(UIView *)

我试图显示一个文档网格(保存在documents目录中),但我不知道如何生成文档的缩略图。文档可以是
qlviewcontroller
可以显示的任何内容。PDF和图像都很好,但是像.doc这样的东西我不知道。任何指导都会有所帮助。

因为您有一个UIView,可以显示这些文档中的任何一个,所以您可以选择一个快捷方式:

-使用显示的文档创建预览控制器的实例

-不要将此视图/控制器添加到任何内容

-从其图层创建图像

这可能有助于:

+ (UIImage *)imageFromView:(UIView *)view {
    CALayer *layer = view.layer;
    UIGraphicsBeginImageContext([layer frame].size);
    [layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();    
    return outputImage;
}

在图层和初始化方面多做些尝试,因为我没有测试代码。

因为您有一个UIView,可以显示这些文档中的任何一个,所以您可以选择一个快捷方式:

-使用显示的文档创建预览控制器的实例

-不要将此视图/控制器添加到任何内容

-从其图层创建图像

这可能有助于:

+ (UIImage *)imageFromView:(UIView *)view {
    CALayer *layer = view.layer;
    UIGraphicsBeginImageContext([layer frame].size);
    [layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();    
    return outputImage;
}

由于我没有测试代码,所以可以在图层和初始化方面多做一些尝试。

更好的选择是使用uiwebview,在该视图中,您可以加载提供文件路径的文件。然后使用上面Matic Oblak给出的代码进行屏幕截图,您就完成了。

更好的选择是使用uiwebview,您可以在其中加载提供文件路径的文件。然后使用Matic Oblak提供的上述代码进行屏幕截图,您就完成了。

处理层时不要忘记包含
框架。处理层时不要忘记包含
框架。