2017-09-18 25 views
0

UIWebViewを使用してPDFを作成したいとします。ワークシートの詳細があるので、私はSwiftにPDFを生成して保存します。私はテーブルでHTML形式を使用していますが、2番目のページでは境界線が切れています。スウィフト2についてはSwiftでPDFを作成する方法

答えて

0

私は、文字列として(あなたのテーブルのために使用される正確なHTMLコードです) HTML文字列を使用するために使用されます! 次に

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)") 
関連する問題