python - Python打印WebView的内容(Gtk3.0)
问题描述
我设计了一个非常简单的 Python3 应用程序,它使用 WebView 来呈现 Markdown 文件。现在我想添加打印渲染文件的可能性(使用当前正在应用的样式表)。我拼命地试图找到一些关于如何做到这一点的信息。是否有任何教程或howto可以解释如何做到这一点?
我找到了一些解释如何从磁盘打印 PDF 文件的示例,但我想直接从 WebView 打印内容。显然,甚至还有一种方法,但我在弄清楚如何使用它时失败了......
看这里
最好的问候梅林
解决方案
好的,我终于想通了。似乎只有 Webkit2 库足够现代以处理来自 Webview 的打印。我使用的是 WebKit1,这就是它不起作用的原因。所以我不得不改变我的依赖关系,之后它实际上很容易......
假设您有一个名称为 的 Webview myWebView
,那么您打印其内容的函数将如下所示:
def onPrintButtonClicked( self, widget ):
#Set the operation up
printOperation = WebKit2.PrintOperation.new( self.myWebView )
#Run the dialog
printOperation.run_dialog()
在对话框之后,您实际上可以通过检查WebKit2.PrintOperationResponse.CANCEL
或WebKit2.PrintOperationResponse.PRINT
返回值来检查用户是否选择了打印或取消。
问候
推荐阅读
- json - 从 Redux 中的 fetch 调用返回一个数组到 React 组件
- swift - 值的数据库计数
- sql - 在sql中的where条件中传递数组
- android - 点击通知打开新活动
- c - 正确使用 malloc/realloc 用于 typedef 结构
- codeigniter - 找不到 Codeigniter 的主页
- php - ajax 上的 JS 警报添加到购物车以获取 Woocommerce 中的特定产品类别计数
- c++ - 通过自定义分隔符从文件中读取对象数组
- specman - Specman e覆盖率:忽略的值出现在覆盖率统计中
- laravel - 没有表单和请求功能的 Laravel 上传