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); 而不是任何值...但它仍然有一些空白左右。 –