WebEngine Widgets Html2Pdf Example#
Converts web pages to PDF documents using Qt WebEngine.
Html2Pdf demonstrates how to use Qt WebEngine to implement a command-line application for converting web pages into PDF documents.
Running the Example#
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.
The Conversion Process#
In order to convert a web page into a PDF document we need to:
Create a
QWebEngineView
.Tell the
QWebEngineView
to begin loading the target URL and wait for it to finish.Tell the
QWebEngineView
to begin converting the loaded page into a PDF file and again wait for it to finish.Once the conversion is finished, exit the program.
This process is encapsulated in the Html2PdfConverter class:
In the constructor we create the QWebEngineView
and connect to its loadFinished
and pdfPrintingFinished
signals:
The run()
method will trigger the conversion process by asking QWebEnginePage
to start loading the target URL. We then enter the main event loop:
After the loading is finished we begin PDF generation. We ask the printToPdf
method to write the output directly to disk:
Once we receive the signal that the PDF conversion has finished, all that remains is to report potential errors and exit the program:
The Main Function#
Our main
function is responsible for setting up a QApplication and parsing command line arguments:
Note that to use Qt WebEngine Widgets we need to create a QApplication and not a QCoreApplication, even though this is a command line application.