2017-09-18 77 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)")