我正在使用iOS
和Xcode7
进行Swift2
项目。我有一个array
保存在UITableView
中。我有一个导出UIButton
,其中包含array
中的内容并将strings
分开并逐行放入PDF中,每行都是一个独立的string
。
变量包括:
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文件稍后附在电子邮件中时,它没有任何真正的边距,如果用户想要打印它,它会切断一些东西。如果根据array
长度创建一个边距,如何在每个页面或页面周围添加1英寸边距?谢谢。
答案 0 :(得分:1)
我将页面布局调整为:
let page = CGRect(x: 50, y: 50, width: 600, height: 750)
这给了我想要的利润。