在UIImage或UIScroller中查看转换为BLOB图像的PDF文件

时间:2013-10-22 07:32:43

标签: ios objective-c ipad

我的应用程序要求是查看来自IPAD的上传文档。 我以BLOB图像的形式从数据库导入文档并将其传递给IPAD,并使用下面的代码我可以查看图像。

NSString *strImage; // String has BLOB image from DB

NSData *imageData = [self dataFromBase64EncodedString:strImage];

UIImage *image = [UIImage imageWithData:imageData];

UIImageView *m_oImageViewer = [[UIImageView alloc]init];

m_oImageViewer.image = image;
m_oImageViewer.frame=CGRectMake((self.view.frame.size.width/2)- 250,60,500,500);
[self.view addSubview:m_oImageViewer];


-(NSData *)dataFromBase64EncodedString:(NSString *)string{
if (string.length > 0) 
{
     NSString *data64URLString = [NSString stringWithFormat:@"data:;base64,%@", string];
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:data64URLString]];
    return data;
}
return nil;

如果PDF文件转换为BLOB为什么我将图像作为nil,因为我可以看到BLOB很常见所以为什么只有.png文件即使转换为BLOB后我也可以而不是PDF文件。 我阅读了UIImage的支持文档,它没有给出PDF文件但是我给了BLOB图像。我哪里错了。 我必须使用任何其他财产,否则这是不可能的。

1 个答案:

答案 0 :(得分:0)

PDF不是图像格式,它类似于带有文本,字体,矢量和光栅图像等的容器,因此您无法将其转换为UIImage,但UIWebView可以显示pdf(还有很多其他格式)。我想,您应该将pdf BLOB保存到临时文件夹,然后在UIWebView中显示它,例如:

    [pdfData writeToFile:tempFilePath atomically:YES];
    NSURL *url = [NSURL fileURLWithPath:tempFilePath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView  loadRequest:request];