首页 > 解决方案 > Python打印WebView的内容(Gtk3.0)

问题描述

我设计了一个非常简单的 Python3 应用程序,它使用 WebView 来呈现 Markdown 文件。现在我想添加打印渲染文件的可能性(使用当前正在应用的样式表)。我拼命地试图找到一些关于如何做到这一点的信息。是否有任何教程或howto可以解释如何做到这一点?

我找到了一些解释如何从磁盘打印 PDF 文件的示例,但我想直接从 WebView 打印内容。显然,甚至还有一种方法,但我在弄清楚如何使用它时失败了......

这里

最好的问候梅林

标签: pythonprintingwebviewgtk3

解决方案


好的,我终于想通了。似乎只有 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.CANCELWebKit2.PrintOperationResponse.PRINT返回值来检查用户是否选择了打印或取消。

问候


推荐阅读