我遇到这个问题:

PDF rendering using CGContextDrawPDFPage : cannot find CropBox

但实际上并没有回答这个问题。
回顾:我在显示一个特定的pdf文件时遇到问题,裁剪标记可见,但在其他阅读器上的Safari上却看不到。我尝试在渲染中使用kCGPDFCropBox而不是kCGPDFMediaBox,但是生成的rect具有相同的值。与kCGPDFTrimBox相同的结果,例如:

CGRect pageRect = CGPDFPageGetBoxRect(pdfPage, kCGPDFMediaBox);


更新:

origin=(x=0, y=0) size=(width=595, height=842)


使用kCGPDFMediaBox的pageRect和

origin=(x=42.9783, y=61.4606) size=(width=511.299, height=719.97)


用于具有kCGPDFCropBox的pageRect

使用第二个页面,页面被裁剪,但不是我想要的样子(保留打印,裁剪标记和剪切内容)。其他观众仍然可以使用此文件

最佳答案

这些标记绘制在可见页面区域(裁剪框)之外。由于您没有在页面边界剪切内容,因此将显示页面内容中的所有内容。
在绘制页面之前添加此选项,裁剪标记将不再可见。

CGContextAddRect(ctx, cropBoxRect);
CGContextClip(ctx);


如果封面仍然没有正确显示,请在注释中发布/ MediaBox,/ CropBox和/ Rotate条目的值,然后我将构建一个测试PDF文件。

关于ios - PDF-MediaBox或CropBox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17883170/

10-09 16:00