0
핵심 그래픽, CGContextDrawPDFPage 기능을 사용하여 PDF를 렌더링 중입니다. 이미지보기에서 PDF 페이지를 표시하려고합니다. 페이지가 완벽하게 렌더링됩니다. 그러나 일부 페이지의 방향이 올바르지 않습니다. 일부는 오른쪽, 거꾸로 뒤집혀 있습니다. 이는 일부 PDF/페이지에서만 발생합니다. 다음은 PDF 페이지를 렌더링하는 코드 단편입니다. 나는 많은 게시물을 온라인에서 보았지만 그들 모두는 어떤 방식 으로든 실패하고있다. 또한 핵심 그래픽에 익숙하지 않습니다.올바른 방향으로 PDF를 렌더링하는 올바른 방법은 무엇입니까?
CGImageRef imageRef = NULL;
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bmi = (kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst);
CGContextRef context = CGBitmapContextCreate(NULL, target_w, target_h, 8, 0, rgb, bmi);
if (context != NULL) {
CGRect thumbRect = CGRectMake(0.0f, 0.0f, target_w, target_h);
CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f);
CGContextFillRect(context, thumbRect);
CGContextSetRenderingIntent(context, kCGRenderingIntentDefault);
CGRect mediaRect = CGPDFPageGetBoxRect(thePDFPageRef, kCGPDFCropBox);
CGContextScaleCTM(context, target_w/mediaRect.size.width, target_h/mediaRect.size.height);
CGContextTranslateCTM(context, -mediaRect.origin.x, -mediaRect.origin.y);
CGContextDrawPDFPage(context, thePDFPageRef);
imageRef = CGBitmapContextCreateImage(context);
CGContextRelease(context);
}
CGColorSpaceRelease(rgb);
if (imageRef != NULL) {
UIImage *image = [UIImage imageWithCGImage:imageRef scale:UIScreen.mainScreen.scale orientation:UIImageOrientationUp];
CFRelease(imageRef);
}
PDF를 렌더링하는 완벽한 방법을 제안 해주세요.
필요하십니까? 감사. – EmptyStack