如何在使用cgpdfdocumentref ...渲染时将pdf适合屏幕大小?

时间:2010-12-22 09:40:52

标签: iphone objective-c ipad cgpdfdocument

我是ipad应用程序开发的新手。我正在iPad中使用CGPDFDocumentRef渲染一本pdf书。我能够正确地渲染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 :(得分:0)

您需要使用CGPDFPageGetDrawingTransform函数来获取将完全相同的仿射变换。

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

第三个参数是一个CGRect,它定义了您希望PDF适合的方格。 最后一个参数表示您是否接受变形以适合CGRect。