Распечатать QWebView в PDF

Я хочу напечатать QWebView в PDF и сохранить его на рабочем столе.
Я реализовал функцию, чтобы сделать это, и вот код:

// Print to PDF
// Purpose: print incoming HTML source code to a PDF on the users desktop
// Input:   string containing the HTML source code, string with the desired filename of resulting PDF
// Output:  void
void MainWindow::printToPDF(QString htmlinput, QString filename)
{
// Set location of resulting PDF
QString saveLocation = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation) + "/" + filename + ".pdf";

// Initialize printer and set save location
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFileName(saveLocation);

// Create webview and load html source
QWebView webview;
webview.setHtml(htmlinput);

// Create PDF
webview.print(&printer);
}

Теперь моя проблема в том, что я получаю следующую ошибку в моем приложении:

QPainter::begin(): Returned false

Я могу подтвердить, что эта ошибка вызвана вышеуказанной функцией, с другой стороны, я пытался использовать приведенный выше код исключительно в другом проекте, чтобы подтвердить, что он работает — что он и делает.

Какие-либо предложения?

3

Решение

Приведенный выше код работает отлично — до тех пор, пока в месте хранения PDF нет опечатки, как в моем случае.

Так что проблема решена.

1

Другие решения


По вопросам рекламы [email protected]