-(void) createJPGsFromPDF:(NSString *)fromPDFName
{
if (fromPDFName == nil || [fromPDFName isEqualToString:@""]) {
return;
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *docPath = [documentsDir stringByAppendingPathComponent:fromPDFName];
NSURL *fromPDFURL = [NSURL fileURLWithPath:docPath];
CGPDFDocumentRef fromPDFDoc = CGPDFDocumentCreateWithURL((CFURLRef) fromPDFURL);
// Get Total Pages
unsigned long pages = CGPDFDocumentGetNumberOfPages(fromPDFDoc);
// Create Folder for store under "Documents/"
NSError *error = nil;
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSString *folderPath = [documentsDir stringByAppendingPathComponent:[fromPDFName stringByDeletingPathExtension]];
[fileManager createDirectoryAtPath:folderPath withIntermediateDirectories:YES attributes:nil error:&error];
int i = 1;
for (i = 1; i <= pages; i++) {
CGPDFPageRef pageRef = CGPDFDocumentGetPage(fromPDFDoc, i);
CGPDFPageRetain(pageRef);
// determine the size of the PDF page
CGRect pageRect = CGPDFPageGetBoxRect(pageRef, kCGPDFMediaBox);
// renders its content.
UIGraphicsBeginImageContext(pageRect.size);
CGContextRef imgContext = UIGraphicsGetCurrentContext();
CGContextSaveGState(imgContext);
CGContextTranslateCTM(imgContext, 0, pageRect.size.height);
CGContextScaleCTM(imgContext, 1, -1);
// 调图片质量
CGContextSetInterpolationQuality(imgContext, kCGInterpolationHigh);
// 渲染意图
CGContextSetRenderingIntent(imgContext, kCGRenderingIntentDefault);
// 将pdf画道image上
CGContextDrawPDFPage(imgContext, pageRef);
CGContextRestoreGState(imgContext);
//PDF Page to image
UIImage *tempImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Release current source page
CGPDFPageRelease(pageRef);
// Store IMG
NSString *imgname = [NSString stringWithFormat:@"fromPDFName_%d.jpg", i];
NSString *imgPath = [folderPath stringByAppendingPathComponent:imgname];
// UIImageJPEGRepresentation(tempImage, 0.1) 图片转为NSData并压缩大小
[UIImageJPEGRepresentation(tempImage, 0.1) writeToFile:imgPath atomically:YES];
}
CGPDFDocumentRelease(fromPDFDoc);
}
Quartz2d--pdf转图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 网络里有各种高大上的报告,但是不好找到PDF或PPT版本,收集了很多JPG图片,又不适合分发,这个时候就需要用到J...
- 问题描述 用浏览器打开正常,但使用工具 wkhtmltopdf 转换成 PDF 文档后却看不到任何内容。 html...