1
我有一些麻烦,保存PDF页作为UIImage ... PDF从互联网上加载,它有一个页面(原始PDF已拆分断绝)......但有时转换图像裁剪......有时是小,当它在推杆的UIImageView留下的空白......从CGPDfDocument的页面保存图像不完美适合UIImageview
这里是代码
-(UIImage *)imageFromPdf:(NSString *) pdfUrl{
NSURL *pdfUrlStr=[NSURL URLWithString:pdfUrl];
CFURLRef docURLRef=(CFURLRef)pdfUrlStr;
UIGraphicsBeginImageContext(CGSizeMake(768, 1024)); //840, 960
NSLog(@"save begin");
CGContextRef context = UIGraphicsGetCurrentContext();
//CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("/file.pdf"), NULL, NULL);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL(docURLRef);
NSLog(@"save complete");
CGContextTranslateCTM(context, 0.0, 900);//320
CGContextScaleCTM(context, 1.0, -1.0);
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 1);
CGContextSaveGState(context);
CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, CGRectMake(0, 0, 768, 1024), 0, true);
CGContextConcatCTM(context, pdfTransform);
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
btw我已经准备好了我的UIImageview,编码像这样
self.PDFImageVIew.contentMode = UIViewContentModeScaleAspectFit;
self.PDFImageVIew.clipsToBounds = YES;
我只是想让这个图像完美地适合UIImageview,并且可能是它降低了图像的质量......你能暗示我怎么能保持质量呢?请帮忙给我一些建议
感谢
谢谢...它适用于高度 我使用CGRect pageRect = CGPDFPageGetBoxRect(page,kCGPDFMediaBox); 而不是任何值...但它仍然有一些空白左右。 –