2016-07-14 44 views
0

我有一個iOS項目我正在使用Xcode7Swift2。我有一個array保存在UITableView。我有一個輸出UIButton,它將array中的內容分開並將strings分開並逐行放入PDF中,每行都是分開的string如何將邊距添加到由[String]數組創建的PDF中進行打印?

變量包括:

var pdfData = NSMutableData() 
bookList: [String] = [] 

這是我的代碼部分:

// Loop through book list, increasing each one and displaying individually as string items for body 
    for i in 0 ..< bookList.count { 
     body += "<p><font size=3><br>\(bookList[i] as String)</br></font></p>" 
    } 

    html = "\(body)" 

    let fmt = UIMarkupTextPrintFormatter(markupText: html) 

    // Assign print formatter to UIPrintPageRenderer 

    let render = UIPrintPageRenderer() 
    render.addPrintFormatter(fmt, startingAtPageAtIndex: 0) 

    // Assign paperRect and printableRect 

    let page = CGRect(x: 0, y: 0, width: 595.2, height: 841.8) // A4, 72 dpi 
    let printable = CGRectInset(page, 0, 0) 

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

    // Create PDF context and draw 

    //let pdfData = NSMutableData() 
    UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil) 

    for i in 1...render.numberOfPages() { 

     UIGraphicsBeginPDFPage(); 
     let bounds = UIGraphicsGetPDFContextBounds() 
     render.drawPageAtIndex(i - 1, inRect: bounds) 
    } 

    UIGraphicsEndPDFContext() 

當這個PDF文件在電子郵件後附,它沒有任何真正的利潤,如果用戶想要打印它,它會切斷東西。例如,如果在每個頁面或頁面周圍添加1英寸頁邊距(如果根據長度爲array創建一個頁面),我如何添加?謝謝。

回答

1

我調整了頁面佈局:

let page = CGRect(x: 50, y: 50, width: 600, height: 750) 

這給了我想要的利潤率。