0

我有保存为跨页的 PDF 页面。这在一个视图中对我有用,用户可以在其中缩放、突出显示文本和单击超链接。但是,我想在另一个需要单独页面而不是跨页的视图中使用相同的 PDF 文件。我希望我可以避免让用户下载无关的 PDF 文件。

我能够调整令人敬畏的“叶子”项目来做我想做的事。但是我可以更改以下任何代码以使其绘制 PDF,但裁剪页面的右半部分或左半部分,并在必要时更改偏移量?

- (void) renderPageAtIndex:(NSUInteger)index inContext:(CGContextRef)ctx
    {
        CGPDFPageRef page = CGPDFDocumentGetPage(myDocumentRef, index + 1);
        CGAffineTransform transform = aspectFit(CGPDFPageGetBoxRect(page, kCGPDFMediaBox), CGContextGetClipBoundingBox(ctx));
        CGContextConcatCTM(ctx, transform);
        CGContextDrawPDFPage(ctx, page);
    }


- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
    {
        CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0);
        CGContextFillRect(ctx, CGContextGetClipBoundingBox(ctx));
        CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height);
        CGContextScaleCTM(ctx, 1.0, -1.0);
        CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(myPageRef, kCGPDFCropBox, layer.bounds, 0, true));
        CGContextDrawPDFPage(ctx, myPageRef);
    } 

或者,如果有另一种方法来完成同样的事情,那也将受到欢迎。

谢谢!

4

0 回答 0