我想从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