我有以下代码将完整表(即不仅是用户可见的内容)另存为PDF文件。
@IBOutlet weak var pointsTable: NSTableView!
@IBAction func saveAsPDF(_ sender: Any) {
let headers = pointsTable.headerView?.dataWithPDF(inside: (pointsTable.headerView?.bounds)!)
let rows = pointsTable.dataWithPDF(inside: pointsTable.bounds)
if var data = headers{
data.append(rows)
let pdf = PDFDocument.init(data: data)
if let url = OpenAndSaveDialogues().saveFilePath(suggestedFileName: "CampPoints", allowFileTypes: ["pdf"]){
pdf?.write(to: url)
}
}
}
此操作成功保存了PDF,其中包含我想要的所有信息,但不包括表头。在该代码中,如果我不包括data.append(rows),那么我将得到仅包含列标题的PDF。但是,一旦添加行数据,我最终只会得到行而没有标题。
我做错了什么?有其他方法吗?