Display thumbnails for pdf files in IOS
Create Thumbnail from pdf file
- (UIImage *)imageFromPDFWithDocumentRef:(CGPDFDocumentRef)documentRef { CGPDFPageRef pageRef = CGPDFDocumentGetPage(documentRef, 1); CGRect pageRect = CGPDFPageGetBoxRect(pageRef, kCGPDFCropBox); UIGraphicsBeginImageContext(pageRect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, CGRectGetMinX(pageRect),CGRectGetMaxY(pageRect)); CGContextScaleCTM(context, 1, -1); CGContextTranslateCTM(context, -(pageRect.origin.x), -(pageRect.origin.y)); CGContextDrawPDFPage(context, pageRef); UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return finalImage; } // Resize Thumbnail - (UIImage *)image:(UIImage*)originalImage scaledToSize:(CGSize)size { //avoid redundant drawing if (CGSizeEqualToSize(originalImage.size, size)) { return originalImage; } //create drawing context UIGraphicsBeginImageContextWithOptions(size, NO, 0.0f); //draw [originalImage drawInRect:CGRectMake(0.0f, 0.0f, size.width, size.height)]; //capture resultant image UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); //return image return image; }
How to Use
NSString *pdfpath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:indexPath.row]]; NSURL* pdfFileUrl = [NSURL fileURLWithPath:pdfpath]; CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfFileUrl); UIImage *pdfthumb = [self imageFromPDFWithDocumentRef:pdf]; cell.imageView.image = [self image:pdfthumb scaledToSize:CGSizeMake(40, 40)];
ตามนี้เลย