0

我有这个问题:

使用 CGContextDrawPDFPage 进行 PDF 渲染:找不到 CropBox

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

CGRect pageRect = CGPDFPageGetBoxRect(pdfPage, kCGPDFMediaBox);

更新:

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

对于 pageRectkCGPDFMediaBox

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

对于 pageRect 与kCGPDFCropBox

使用第二个,页面被裁剪,但不是我想要的(留下打印和裁剪标记以及剪切内容)。其他查看器仍然可以正常使用此文件

4

1 回答 1

2

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

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

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

于 2013-07-29T09:18:13.513 回答