High quality UIImage from PDF

后端 未结 6 1391
我寻月下人不归
我寻月下人不归 2020-12-14 03:57

I\'m converting a PDF page into a UIImage. While doing so, I lose the image quality. Need help in getting high quality images.

Code to generate UIImage

6条回答
  •  被撕碎了的回忆
    2020-12-14 04:42

    Try this code for Swift 3 :

    func drawPDFfromURL(url: URL) -> UIImage? {
        guard let document = CGPDFDocument(url as CFURL) else { return nil }
        guard let page = document.page(at: 1) else { return nil }
    
        let pageRect = page.getBoxRect(.mediaBox)
        let renderer = UIGraphicsImageRenderer(size: pageRect.size)
        let img1 = renderer.jpegData(withCompressionQuality: 1.0, actions: { cnv in
            UIColor.white.set()
            cnv.fill(pageRect)
            cnv.cgContext.translateBy(x: 0.0, y: pageRect.size.height);
            cnv.cgContext.scaleBy(x: 1.0, y: -1.0);
            cnv.cgContext.drawPDFPage(page);
        })
        let img2 = UIImage(data: img1)
        return img2
    }
    

    This gives much higher resolution

提交回复
热议问题