我需要显示从Web服务接收的PDF文件的内容。
我的问题是所有PDF框都返回相同的值。您知道我正在使用的文件怎么了吗?
CGPDFPageRef drawPDFPageRef = CGPDFPageRetain( CGPDFDocumentGetPage(pdf, 1) );
CGRect cropBoxRect = CGPDFPageGetBoxRect(drawPDFPageRef, kCGPDFCropBox);
CGRect mediaBoxRect = CGPDFPageGetBoxRect(drawPDFPageRef, kCGPDFMediaBox);
cropBoxRect =(0,0,595,842)
mediaBoxRect =(0,0,595,842)
当我在UIWebView中显示PDF时,内容就可以了
这是UIWebView呈现的PDF
这是CGContextDrawPDFPage呈现的PDF
谢谢你的帮助,
文森特
最佳答案
那看起来不像元数据,而是像媒体框用来裁剪PDF而不是裁剪框一样。在您的代码中,您可能会有类似以下内容:
CGContextSetInterpolationQuality(ctx, kCGInterpolationHigh);
CGContextSetRenderingIntent(ctx, kCGRenderingIntentDefault);
CGContextSetRGBFillColor( ctx, 1.0, 1.0, 1.0, 1.0 );
CGContextFillRect( ctx, CGContextGetClipBoundingBox( ctx ));
CGContextTranslateCTM( ctx, 0.0, self.bounds.size.height );
CGContextScaleCTM( ctx, 1.0, -1.0 );
CGAffineTransform pdfXfm = CGPDFPageGetDrawingTransform( pdfPage, kCGPDFMediaBox, self.bounds, 0, true );
CGContextConcatCTM( ctx, pdfXfm );
CGContextDrawPDFPage( ctx, pdfPage );
尝试在
kCGPDFCropBox
中使用CGPDFGetPageDrawingTransform
,这可能会有所帮助关于objective-c - 使用CGContextDrawPDFPage的PDF渲染:找不到CropBox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7939551/