我想從Swift中的UITableView創建一個PDF。我找到了Objective C的一些教程,並試用了它,但是仍然沒有這個代碼生成的文件。使用Swift生成PDF
// get a temprorary filename for this PDF
var path = NSTemporaryDirectory();
var pdfFilePath = path.stringByAppendingPathComponent("mypdfdocument.pdf")
UIGraphicsBeginPDFContextToFile(pdfFilePath, CGRectMake(0, 0, self.tableView.contentSize.width, self.tableView.contentSize.height), nil)
UIGraphicsBeginPDFPage();
self.view.layer.renderInContext(UIGraphicsGetCurrentContext())
self.tableView.scrollRectToVisible(CGRectMake(0, 0, 1, 1), animated: false)
self.tableView.layer.renderInContext(UIGraphicsGetCurrentContext())
var screensInTable = Int(self.tableView.contentSize.width)/Int(self.tableView.contentSize.height)
for i in 1...screensInTable {
var point = CGFloat(CGFloat(i) * self.tableView.bounds.height)
var contentOffset:CGPoint = CGPointMake(0, point)
self.tableView.setContentOffset(contentOffset, animated: false)
self.tableView.layer.renderInContext(UIGraphicsGetCurrentContext())
}
UIGraphicsEndPDFContext();
並且:我有一個帶有4個部分和不同的行高和單元模板的表格。使用這種類型的代碼能否輕鬆生成PDF?或者用CoreText創建Row by Row會更好嗎?
在此先感謝。
謝謝你的回答。我不知道如何使用「模板」視圖? - 我在這裏有9個不同的單元格佈局,所以我需要創建一個視圖(對於我所有的單元格?)並將它們填充到我的數據中? – derdida 2014-11-08 15:47:35
您能否詳細說明'createTemplatePageViewWithParsedEntry'中會發生什麼?你將什麼觀點插入模型,以及該觀點如何處理? – Wiingaard 2016-11-06 22:31:16
它創建一個代表您的PDF頁面的UIView。 @Rapsefar – mustafa 2016-11-07 07:06:42