【发布时间】:2019-04-08 13:48:02
【问题描述】:
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() 不给我打印的东西?
任何建议将不胜感激。
【问题讨论】: