how to create A4 size pdf by using webview ios swift

Viewed 465

i tried following codes but it shows still small size of pdf....

    let render = UIPrintPageRenderer()

    let fmt = webView.viewPrintFormatter()  UIMarkupTextPrintFormatter(markupText: htmlString!)
    fmt.perPageContentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72)

render.addPrintFormatter(webView.viewPrintFormatter(), startingAtPageAt: 0);

    render.addPrintFormatter(fmt, startingAtPageAt: 0)
    let page = CGRect(x: 0, y: 0, width: 595, height: 842)// take the size of the webView



    let printable = page.insetBy(dx: 0, dy: 0)


    render.setValue(NSValue(cgRect: page), forKey: "paperRect")
    render.setValue(NSValue(cgRect: printable), forKey: "printableRect")

    // 4. Create PDF context and draw
    let pdfData = NSMutableData()
    UIGraphicsBeginPDFContextToData(pdfData, CGRect.zero, nil)

    for i in 1 ... render.numberOfPages {

        UIGraphicsBeginPDFPage();
        let bounds = UIGraphicsGetPDFContextBounds()
        render.drawPage(at: i - 1, in: bounds)
    }
    UIGraphicsEndPDFContext();
    let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]

    print(documentsPath)

    pdfData.write(toFile: "\(documentsPath)/pdffName.pdf", atomically: true)
0 Answers
Related