Pdf - MediaBox或CropBox

时间:2013-07-26 13:52:20

标签: ios objective-c pdf core-graphics

我遇到了这个问题:

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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