Как подогнать PDF к размеру экрана при рендеринге с использованием cgpdfdocumentref ...? - PullRequest
1 голос
/ 22 декабря 2010

Я новичок в разработке приложений для iPad. Я рендеринг PDF-книги, используя CGPDFDocumentRef в iPad. Я могу правильно отобразить PDF, который идет в центре страницы. Это оставляет небольшую длину пустого пространства со всех сторон. Я пытаюсь масштабировать изображение, которое мы помещаем по центру, чтобы оно точно соответствовало странице ... Кто-нибудь может мне помочь, как сделать так, чтобы оно соответствовало размеру экрана ipad?

myPageRef = CGPDFDocumentGetPage(myDocumentRef, pageNo);
CGContextTranslateCTM(ctx,0 , layer.bounds.size.height);
CGContextScaleCTM(ctx, 1.0,-1.0);
CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(myPageRef,kCGPDFCropBox , layer.bounds, 0, true));
CGContextSetInterpolationQuality(ctx, kCGInterpolationHigh); 
CGContextSetRenderingIntent(ctx, kCGRenderingIntentDefault);
CGContextDrawPDFPage(ctx, myPageRef);

Используя этот код, я получаю pdf-документ по центру, теперь, пожалуйста, помогите мне, как разместить его на странице ????

Спасибо,
Раджу

1 Ответ

0 голосов
/ 22 декабря 2010

Вам нужна функция CGPDFPageGetDrawingTransform, чтобы получить аффинное преобразование, которое будет делать именно это.

pdfToPageTransform = CGPDFPageGetDrawingTransform(myPageRef, kCGPDFMediaBox, layer.bounds, 0, true);
CGContextConcatCTM(ctx, pdfToPageTransform);
CGContextDrawPDFPage(ctx, myPageRef)

Третий параметр - это CGRect, который определяет площадь, в которую вы хотите поместить PDF. Последний параметр говорит, принимаете ли вы деформацию для соответствия CGRect или нет.

...