Swift 3 打印功能

来源:互联网 发布:百度人工智能开发平台 编辑:程序博客网 时间:2024/06/05 17:54

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, .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!        //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)}


原创粉丝点击