2017-09-18 83 views
0

我想使用UIWebView創建PDF。由於我有任何工作表的細節,我想保存在Swift中生成PDF。我使用表格的HTML格式,但在第二頁我的邊界正在削減。如何在Swift中創建PDF

回答

0

對於斯威夫特2我用 HTML字符串(是用於你的表的確切的html代碼)作爲字符串! Then

let render = UIPrintPageRenderer() 
    let fmt = UIMarkupTextPrintFormatter(markupText: html) 

    render.addPrintFormatter(fmt, startingAtPageAtIndex: 0) 

    // 3. Assign paperRect and printableRect 

    let page = CGRect(x: 0, y: 0, width: 612, height: 792) // some defaults 
    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 pointzero = CGPoint(x: 0,y :0) 
    let rect = CGRect.zero 
    let pdfData = NSMutableData() 
    UIGraphicsBeginPDFContextToData(pdfData, .zero, nil) 

    for i in 0..<render.numberOfPages { 
     UIGraphicsBeginPDFPage(); 
     render.drawPageAtIndex(i, inRect: UIGraphicsGetPDFContextBounds()) 
    } 

    UIGraphicsEndPDFContext(); 

    // 5. Save PDF file 
    let path = "\(NSTemporaryDirectory())sd.pdf" 

    pdfData.writeToFile(path, atomically: true) 
    print("open \(path)")