我遇到这个问题:
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/