Распечатать содержимое WebView в Python (Gtk3.0) - PullRequest
0 голосов
/ 18 апреля 2020

Я разработал очень простое приложение Python3, которое использует WebView для визуализации файлов Markdown. Теперь я хотел бы добавить возможность распечатывать визуализированный файл (с текущей применяемой таблицей стилей). Я отчаянно пытаюсь найти информацию о том, как это сделать. Есть ли какой-нибудь учебник или метод, который может объяснить, как это сделать?

Я нашел несколько примеров, объясняющих, как печатать PDF-файлы с диска, но я бы хотел распечатать их прямо из WebView. Видимо, есть даже метод для этого, но я с треском проваливаюсь, пытаясь понять, как его использовать ...

См. здесь

С наилучшими пожеланиями Мерлин

1 Ответ

0 голосов
/ 19 апреля 2020

ОК, я наконец понял это. Похоже, что только библиотека Webkit2 достаточно современна, чтобы справиться с печатью из Webview. Я использовал WebKit1, и по этой причине он не работал. Поэтому мне пришлось изменить свои зависимости, и после этого это было на самом деле довольно просто ...

Допустим, у вас есть веб-представление с именем 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 возвращаемые значения.

Reagards

...