swift - 在 MacOS App 中加载后如何打印 WebView
问题描述
我正在尝试从 Mac OS 应用程序的打印面板中打印 WebView。如何在打印面板中显示 WebView 内容。
这是用于打印 WebView,我尝试在加载到 WebView 后在打印面板中打印“ https://www.google.com ”,并且在打印中似乎总是空白页。
var wbView: WKWebView!
let preferences = WKPreferences()
let configuration = WKWebViewConfiguration()
override func viewDidLoad() {
super.viewDidLoad()
preferences.javaScriptEnabled = true
preferences.javaScriptCanOpenWindowsAutomatically = true
configuration.preferences = preferences
wbView = WKWebView(frame: view.bounds, configuration: configuration)
self.view.addSubview(wbView)
wbView.navigationDelegate = self
wbView.load(URLRequest(url: URL(string: "https://www.google.com")!))
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!){
wbView.printView(self)
// let printOperation = NSPrintOperation(view: wbView)
// printOperation.run()
}
}
我尝试了两种打印方式: 1. wbView.printView() 2. let printOperation = NSPrintOperation(view: badgeView) printOperation.run()
但它在这两种情况下都不起作用。
请为此提出任何解决方案,谢谢。
解决方案
推荐阅读
- css - 如何从加载的网页中找到 CSS 模式并将其删除
- python - SQLAlchemy ORM:无效的集合
- reactjs - 更新firestore中数组字段内的对象
- python - 需要帮助从网站上抓取特定的 div 元素并将它们导出为 CSV
- ios - SwiftUI 项目不提供代码高亮或代码完成(自动完成)
- javascript - 检查字符串的最后一个字符是否是Javascript中的元音
- mysql - Web App 的订阅数据库:如何确定到期日期?
- java - 多线程应用程序中用于局部变量的 Java 垃圾收集
- tensorflow - 使用 tensorflow 梯度带计算 Hessian
- javascript - 上传到 Google Cloud Storage 之前的视频压缩