TL; DR:为什么UIWebView:s viewPrintFormatter()
没有给我打印的内容?
我目前正在尝试打印UIWebView的内容。我找到了一些示例,并最终获得了以下代码:
let printInteractionController: UIPrintInteractionController = UIPrintInteractionController.shared
let printInfo: UIPrintInfo = UIPrintInfo.printInfo()
printInfo.outputType = UIPrintInfo.OutputType.general
printInfo.jobName = self.webView.request!.url!.absoluteString
printInfo.orientation = UIPrintInfo.Orientation.portrait
printInfo.duplex = UIPrintInfo.Duplex.longEdge
printInteractionController.printInfo = printInfo
printInteractionController.printFormatter = self.webView.viewPrintFormatter()
printInteractionController.present(animated: true, completionHandler: nil)
此代码可以完美运行,并按预期方式启动打印控制器。页面预览完全空白(灰色):
如果我dump(self.webView.viewPrintFormatter()
或选中print(self.webView.viewPrintFormatter().numberOfPages)
,则似乎返回格式器为空。
UIWebView最肯定不是空的。
除了我对打印感兴趣的网页以外,我还尝试了多种不同的网页,在尝试过的每一页上都得到了相同的结果。
所以,为什么UIWebView:s viewPrintFormatter()
没有给我打印的内容?
任何建议将不胜感激。
尝试使用WKWebView,UIWebView也已弃用。