Я портирую QWebKit на QWebEngine в соответствии с этим гидом .Это говорит о том, что QWebFrame
функции были объединены в QWebEnginePage
.С QWebFrame::print
я смог создавать PDF-файлы с векторной графикой (изображения SVG, текст и т. Д.).С QWebEnginePage::print
выводом является просто растеризованное изображение, внедренное в PDF (см. Фрагмент кода ниже).
Мне известно, что QWebEnginePage::printToPDF
генерирует PDF-файлы с векторной графикой, но мне нужен детальный контроль над печатью, предоставляемый QPriter
.
Можно создавать PDF с векторной графикой, используя QWebEnginePage::print
?
#include <QApplication>
#include <QPrinter>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWebEngineView view;
view.setUrl(QUrl("https://output.jsbin.com/gihanil"));
view.resize(QSize(630, 891));
view.show();
QObject::connect(&view, &QWebEngineView::loadFinished, [&view, &app](bool isOk) {
auto* printer = new QPrinter();
printer->setOutputFormat(QPrinter::PdfFormat);
printer->setOutputFileName("tiger.pdf");
view.page()->print(printer, [&app, printer](bool isOk) {
delete printer;
app.quit();
}));
});
return app.exec();
}