在iOS中,使用CGPDFDocumentRef,为什么我的PDF显示很大的利润,而不是整个页面?

可能重复:
如何在整个视图中适合PDF页面

我没有问题的PDF显示,但是,原来的PDF没有显示在我编译应用程序的那一刻的大利润。 我的代码:

在H文件中:

@interface viewPDF : UIView { CGPDFDocumentRef document; } 

在M文件中:

  - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:(CGRect)frame]; if (self) { self.backgroundColor = [UIColor clearColor]; NSString *pathToPdfDoc = [[NSBundle mainBundle] pathForResource:@"myPDF" ofType:@"pdf"]; NSURL *pdfUrl = [NSURL fileURLWithPath:pathToPdfDoc]; document = CGPDFDocumentCreateWithURL((__bridge CFURLRef)pdfUrl); currentPage = 1; } return self; } -(void)drawRect:(CGRect)inRect{ if(document) { CGPDFPageRef page = CGPDFDocumentGetPage(document, currentPage); CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSaveGState(ctx); CGContextTranslateCTM(ctx, 0.0, [self bounds].size.height); CGContextScaleCTM(ctx, 1.0, -1.0); CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, [self bounds], 0, true)); CGContextDrawPDFPage(ctx, page); CGContextRestoreGState(ctx); } 

是否有很好的PDF开发人员知道如何避免利润率?

PDF页面由2个框定义:定义物理页面大小的媒体框和定义媒体框内页面可见区域的裁剪框。 你需要做的是在绘制PDF页面之前设置一个与剪裁框匹配的剪切path。 然后,当您绘制页面时,裁切框外的所有内容都将被裁剪,您将在任何查看器中看到该页面。

Interesting Posts