我遇到了这个问题:
PDF rendering using CGContextDrawPDFPage : cannot find CropBox
但这个问题实际上没有得到回答。
回顾:我在显示一个特定的pdf文件时遇到问题,裁剪标记是可见的,但在另一个阅读器上的Safari上却看不到。我尝试在渲染中使用kCGPDFCropBox
而不是kCGPDFMediaBox
,但结果rects具有相同的值。与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)
for pageRect with kCGPDFCropBox
使用第二个页面,页面被裁剪,但不是我想要的方式(留下打印和裁剪标记以及裁剪内容)。其他观众仍可使用此文件
答案 0 :(得分:2)
这些标记是在可见页面区域(裁剪框)之外绘制的。由于您不在页面边界处剪辑内容,因此将显示页面内容中的所有内容。 在绘制页面之前添加此内容,裁剪标记将不再可见。
CGContextAddRect(ctx, cropBoxRect);
CGContextClip(ctx);
如果封面仍未正确显示,请在评论中发布/ MediaBox,/ CropBox和/ Rotate条目的值,我将构建一个测试PDF文件。