我正在使用下面的代码在iPhone上呈现PDF页面。它有效,但边缘看起来比我使用Acrobat Reader或Mac预览查看相同的PDF时要宽得多,因此缩小内容的幅度要小得多。我的代码是否真的导致了这种行为?
关于下面的界限,我验证了代码使用的界限基本上是整个屏幕区域的高度和宽度,而不是状态栏。
CGContextSetStrokeColorWithColor(context, backgroundColor.CGColor);
CGContextSetFillColorWithColor(context,backgroundColor.CGColor);
CGContextSetLineWidth(context, 2.0);
CGContextAddRect(context, CGRectMake(0.0,0.0, self.bounds.size.width, self.bounds.size.height));
CGContextDrawPath(context, kCGPathFillStroke);
CGContextTranslateCTM(context, 0.0, self.bounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGPDFPageRef page = CGPDFDocumentGetPage(myPDF, (size_t) pageNum);
CGContextSaveGState(context);
CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(page, kCGPDFMediaBox, self.bounds, 0, true);
CGContextConcatCTM(context, pdfTransform);
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
答案 0 :(得分:2)
预览通常会显示PDF文件的裁剪框,因此您应使用kCGPDFCropBox
代替kCGPDFMediaBox
作为box
的{{1}}参数。
但是,如果裁剪框设置为一个小矩形,我还没有让Quartz实际缩放页面。
答案 1 :(得分:0)
我在这里得到了答案