我使用下面的代码在iPhone上渲染PDF页面。它可以工作,但页边距似乎比我使用Acrobat Reader或Mac's Preview查看相同的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);发布于 2010-04-11 18:31:04
预览通常会显示PDF文件的裁剪框,所以你应该使用kCGPDFCropBox而不是kCGPDFMediaBox作为CGPDFPageGetDrawingTransform的box参数。
但是,如果裁剪框设置为小矩形,我还没有让Quartz实际放大页面。
发布于 2010-10-15 15:36:27
我在这里找到了答案
https://stackoverflow.com/questions/2472344
复制相似问题