1. 加载到webview再打印
2. 直接打印nsdata
func printViaWebView(fileName: String) { let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0] let filePath = "\(documentsPath)/\(filename)" let url = NSURL(fileURLWithPath: filePath) let urlRequest = NSURLRequest(url: url as URL) webView.loadRequest(urlRequest as URLRequest) let pic = UIPrintInteractionController.shared let printInfo : uiprintinfo = uiprintinfo(dictionary: nil) printInfo.outputType = uiprintinfoOutputType.general printInfo.jobName = url.absoluteString! pic.printInfo = printInfo pic.printFormatter = webView.viewPrintFormatter() pic.showsPageRange = false pic.present(animated: true,completionHandler: nil) } func printViaNSData(fileName: String){ let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,true)[0] let filePath = "\(documentsPath)/\(filename)" let url = NSURL(fileURLWithPath: filePath) let urlRequest = NSURLRequest(url: url as URL) webView.loadRequest(urlRequest as URLRequest) let pic = UIPrintInteractionController.shared let printInfo : uiprintinfo = uiprintinfo(dictionary: nil) printInfo.outputType = uiprintinfoOutputType.general //printInfo.jobName = url.absoluteString! //printInfo.orientation = .portrait pic.printingItem = NSData(contentsOfFile: filePath) pic.showsPaperSelectionForLoadedPapers = true; pic.showsPageRange = true; pic.showsNumberOfcopies = true; pic.printInfo = printInfo //pic.printFormatter = webView.viewPrintFormatter() pic.present(animated: true,completionHandler: nil) }
原文地址:https://www.jb51.cc/swift/321258.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。