QWebEnginePage print to PDF не печатает выделенный текст в PDF, такой как Google Chrome - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь напечатать html-документ из QWebEngineView, используя метод print () и экземпляр QPrinter , который требуется для этого метода.

Проблема в том, что в полученном PDF-файле я не могу выделить какой-либо текст, который доступен.PDF как-то просто, как картинка внутри PDF-файла.Учитывая, что WebEngine в Qt такой же, как и в Chromium (Google Chrome), они должны вести себя так же, но в PDF-файлах, экспортированных из Chrome, я могу выделить текст.Есть ли способ контролировать, как экспортируется PDF?

PS Я не использую метод printToPdf () , потому что он генерирует очень большой PDF (приблизительно 5 МБ).

1 Ответ

0 голосов
/ 16 мая 2018

Ценой качества страницы / pdf можно вставить страницу QWebEngineView в html и загрузить html в QTextDocument, который можно распечатать.

webview->page()->toHtml([this](const QString& result){handlePagePrint(result);});

void handlePagePrint(QString result)
{
    QTextDocument td;
    td.setHtml(result);
    td.print(&printer);
}
...