Ich habe ein iOS
Projekt verwende ich Xcode7
und Swift2
arbeiten. Ich habe eine array
, die in einer UITableView
gehalten wird. Ich habe einen Export UIButton
, die den Inhalt der array
nimmt und trennt die strings
und legt sie in einem PDF, Zeile für Zeile, wobei jede Zeile eine getrennt string
zu sein.Wie füge ich Ränder zu PDF hinzu, das vom Array [String] zum Drucken erstellt wurde?
Variablen umfassen:
var pdfData = NSMutableData()
bookList: [String] = []
Dieser Teil meines Codes ist:
// 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()
Wenn diese PDF-Datei später in einer E-Mail angehängt ist, hat es keine wirklichen Margen und wenn der Benutzer will es drucken, es schneidet ab. Wie füge ich 1 Zoll Ränder zum Beispiel den ganzen Weg um jede Seite oder Seiten hinzu, wenn es eine abhängig von der Länge array
schafft? Vielen Dank.