将任何文档的页面转换为图像

时间:2012-02-13 06:37:53

标签: iphone ios document

通过在位图上下文中渲染每个pdf页面(CGContextDrawPDFPage),可以实现将PDF页面转换为图像。

我们可以对其他文档类型(iWork,MS Office等)执行相同的操作。

我们可以使用UIDocumentInteractionController或QuickLook框架显示所有这些文档的预览。但既不能定制,也不能让我访问单个页面。

UIDocument的情况也是如此。它可以给我整个内容作为NSData或NSFileWrapper,但我不知道如何逐页呈现它(比如在位图上下文中)。

有没有办法将其他文档页面转换为图像?

更新:

目前尚无进展。 UIWebView,UIDocumentInterationController和QLPreview是我能找到的唯一的东西,甚至可以查看office / iWork文档,更不用说将它们转换为图像了。

有没有人对自定义文档交互控制器或快速查看预览控制器以逐页呈现文档有任何经验/想法?

2 个答案:

答案 0 :(得分:0)

我认为您可以在UIWebview中打开文档并拍摄视图的屏幕截图。

答案 1 :(得分:0)

  

我们可以对其他文档类型(iWork,MS Office等)执行相同的操作。

如果您知道如何呈现相关文档类型的内容,则可以。 QA1630包含一些提示,包括可以在UIWebView中显示的文档类型列表,尽管不清楚是否可以通过这种方式将这些文档分解为多个页面。

  

UIDocument的情况也是如此。它可以给我全部内容   NSData或NSFileWrapper,但我不知道如何渲染页面   页面(比如在位图上下文中)。

UIDocument是一个抽象类 - 它对特定文档类型一无所知。您必须子类化UIDocument以提供数据格式化的详细信息。因此,您将能够显示自己的文档类型,但除非您知道这些文档如何存储其数据,否则无法显示其他应用程序中的文档。