Erstellen Sie eine paginierte PDF-Datei - Mac OS X

Ich erstelle eine Mac-App (in Swift 3 mit Xcode 8, Beta 5), mit der der Benutzer eine lange Notiz erstellen und als PDF exportieren kann.

Um dieses PDF zu erstellen, benutze ich Cocoa'sdataWithPDF: -Methode mit folgendem Code:

do {
   // define bounds of PDF as the note text view
   let rect: NSRect = self.noteTextView.bounds
   // create the file path for the PDF
   if let dir = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.allDomainsMask, true).first {
        // add the note title to path
        let path = NSURL(fileURLWithPath: dir).appendingPathComponent("ExportedNote.pdf")
        // Create a PDF of the noteTextView and write it to the created filepath
        try self.noteTextView.dataWithPDF(inside: rect).write(to: path!)  
   } else {
        print("Path format incorrect.") // never happens to me
   }

} catch _ {
    print("something went wrong.") // never happens to me
}

Das funktioniert völlig, aber es gibt ein Problem: Die PDF-Datei wird nur auf einer Seite gespeichert, was bedeutet, dass die Seite sehr lang wird, wenn die Notiz viel Text enthält. Wie kann ich das PDF zwingen, auf so viele Seiten im Letter-Format zuzugreifen, wie es benötigt wird, entweder während meine App das PDF exportiert oder direkt danach?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage