Rendering a CGPDFPage into a UIImage

Posted by James Antrobus on Stack Overflow See other posts from Stack Overflow or by James Antrobus
Published on 2011-01-09T14:48:31Z Indexed on 2011/01/09 14:53 UTC
Read the original article Hit count: 188

Filed under:
|
|
|
|

I'm trying to render a CGPDFPage (selected from a CGPDFDocument) into a UIImage to display on a view.

I have the following code in MonoTouch which gets me part way there.

RectangleF PDFRectangle = new RectangleF(0, 0, UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height);

    public override void ViewDidLoad ()
    {
        UIGraphics.BeginImageContext(new SizeF(PDFRectangle.Width, PDFRectangle.Height));
        CGContext context = UIGraphics.GetCurrentContext();
        context.SaveState();

        CGPDFDocument pdfDoc = CGPDFDocument.FromFile("test.pdf");
        CGPDFPage pdfPage = pdfDoc.GetPage(1);  

        context.DrawPDFPage(pdfPage);
        UIImage testImage = UIGraphics.GetImageFromCurrentImageContext();

        pdfDoc.Dispose();
        context.RestoreState();

        UIImageView imageView = new UIImageView(testImage);
        UIGraphics.EndImageContext();

        View.AddSubview(imageView);
    }

A section of the CGPDFPage is displayed but rotated back-to-front and upside down. My question is, how do I select the full pdf page and flip it round to display correctly. I have seen a few examples using ScaleCTM and TranslateCTM but couldn't seem to get them working.

Any examples in ObjectiveC are fine, I'll take all the help I can get :)

Thanks

© Stack Overflow or respective owner

Related posts about iphone

Related posts about ios