Convert PDF to UIImage

前端 未结 3 1247
北海茫月
北海茫月 2020-12-09 12:54
func drawOnPDF(path: String)
{
    // Get existing Pdf reference
    let pdf = CGPDFDocumentCreateWithURL(NSURL(fileURLWithPath: path))

    // Get page count of pdf         


        
3条回答
  •  误落风尘
    2020-12-09 13:20

    I have found a cool solution. Borrowed from here: https://www.hackingwithswift.com/example-code/core-graphics/how-to-render-a-pdf-to-an-image

    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 img = renderer.image { ctx in
            UIColor.white.set()
            ctx.fill(pageRect)
    
            ctx.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
            ctx.cgContext.scaleBy(x: 1.0, y: -1.0)
    
            ctx.cgContext.drawPDFPage(page)
        }
    
        return img
    }
    

提交回复
热议问题