1
코코아에서 300dpi (예 : tiff)로 PDF를 변환하는 가장 좋은 방법은 무엇입니까?PDF를 코코아의 고해상도 이미지로 변환하는 가장 좋은 방법
NSImage
을 만들 때 을 사용하지만 해상도를 높이는 방법을 찾을 수 없습니다.
코코아에서 300dpi (예 : tiff)로 PDF를 변환하는 가장 좋은 방법은 무엇입니까?PDF를 코코아의 고해상도 이미지로 변환하는 가장 좋은 방법
NSImage
을 만들 때 을 사용하지만 해상도를 높이는 방법을 찾을 수 없습니다.
해결 방법은 이미지의 그래픽 컨텍스트를 만들고 해당 컨텍스트에서 PDF 페이지를 렌더링하는 것입니다. 컨텍스트를 만들 때 원하는 해상도를 지정합니다. 이 코드는 일을 할 것입니다 :
+ (UIImage *) convertPDFPageToImage: (CGPDFPageRef) page withResolution: (float) resolution {
CGRect cropBox = CGPDFPageGetBoxRect(page, kCGPDFCropBox);
int pageRotation = CGPDFPageGetRotationAngle(page);
if ((pageRotation == 0) || (pageRotation == 180) ||(pageRotation == -180)) {
UIGraphicsBeginImageContextWithOptions(cropBox.size, NO, resolution/72);
}
else {
UIGraphicsBeginImageContextWithOptions(CGSizeMake(cropBox.size.height, cropBox.size.width), NO, resolution/72);
}
CGContextRef imageContext = UIGraphicsGetCurrentContext();
[PDFPageRenderer renderPage:page inContext:imageContext];
UIImage *pageImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return pageImage;
}
그것은 여기에서 가져온 것입니다 : 요구로 http://ipdfdev.com/2011/03/28/convert-a-pdf-page-to-image-on-the-iphone-and-ipad/
이 코드는, 코코아 코코아 터치하지 AppKit의에 대한 UIKit을 참조한다. – colincameron