在ipad开发中将pdf的第一页作为UIImage获取

时间:2011-08-17 17:10:54

标签: iphone ipad pdf uiimageview uiimage

在ipad开发中有没有办法将pdf文件的第一页作为UIImage? 如果你现在没有确切的解决方案,你可以告诉我应该采取哪种方式吗?

我尝试了这个函数..但是UIGraphicsGetCurrentContext()没有返回任何内容......

+(UIImage*) imageFromPDF:(CGPDFDocumentRef)pdf withPageNumber:(NSUInteger)pageNumber withScale:(CGFloat)scale
{
    //if(pageNumber > 0 && pageNumber < CGPDFDocumentGetNumberOfPages(pdf))
    //{
        CGPDFPageRef pdfPage = CGPDFDocumentGetPage(pdf,pageNumber);
        CGRect tmpRect = CGPDFPageGetBoxRect(pdfPage,kCGPDFMediaBox);
        CGRect rect = CGRectMake(tmpRect.origin.x,tmpRect.origin.y,tmpRect.size.width*scale,tmpRect.size.height*scale);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextTranslateCTM(context,0,rect.size.height);
        CGContextScaleCTM(context,scale,-scale);
        CGContextDrawPDFPage(context,pdfPage);
        UIImage* pdfImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return pdfImage;
    //}
    //return nil;
}

由于 Shoeb

1 个答案:

答案 0 :(得分:0)

这是我在要点上找到你想做的事情的类别:

https://gist.github.com/892868

此外,这是SO上的过去/回答:

Rendering a CGPDFPage into a UIImage