Swift UIView、PDF化、複数枚、保存
UIView、PDF化、複数枚、保存
UIView、PDF化、保存
の複数枚版。
import UIKit class APCDCalendar { func export() -> URL? { var result: URL? = nil let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 1366.0, height: 1024.0)) let templateView = UIImageView(image: UIImage(named: "aptemplate")) templateView.frame = CGRect(x: 0.0, y: 0.0, width: 1366.0, height: 1024.0) templateView.contentMode = .scaleAspectFit view.addSubview(templateView) let pdfData = NSMutableData() UIGraphicsBeginPDFContextToData(pdfData, view.bounds, nil) guard let pdfContext = UIGraphicsGetCurrentContext() else { return result} UIGraphicsBeginPDFPage() view.layer.render(in: pdfContext) UIGraphicsBeginPDFPage() view.layer.render(in: pdfContext) UIGraphicsEndPDFContext() if let documentDirectories = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first { let documentsFileName = documentDirectories + "/" + "APCDigital_ec.pdf" pdfData.write(toFile: documentsFileName, atomically: true) result = URL(fileURLWithPath: documentsFileName) } return result } }
UIGraphicsBeginPDFPage、UIView.layer.renderを繰り返せばいい。