Я нашел код, который дает мне UIImage
из PDF файла. Он работает, но у меня есть два вопроса:
- Есть ли возможность достичь лучшего качества UIImage? (См. Скриншот)
- Я вижу только первую страницу в
UIImageView
. Должен ли я вставлять файл вUIScrollView
для завершения? - Или лучше отображать только одну страницу и использовать кнопки для навигации по страницам?
P.S. Я знаю, что UIWebView
может отображать PDF-страницы с некоторыми функциями, но мне это нужно как UIImage
или по крайней мере в UIView
.
Bad quality Image:
Code:
-(UIImage *)image {
UIGraphicsBeginImageContext(CGSizeMake(280, 320));
CGContextRef context = UIGraphicsGetCurrentContext();
CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("ls.pdf"), NULL, NULL);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CGContextTranslateCTM(context, 0.0, 320);
CGContextScaleCTM(context, 1.0, -1.0);
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 4);
CGContextSaveGState(context);
CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, CGRectMake(0, 0, 280, 320), 0, true);
CGContextConcatCTM(context, pdfTransform);
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}