我正在使用
以下是代码。如何在PDF格式中获取CSS样式? 我使用ubuntu和qmake进行编译。
QTextDocument
并使用setHtml
添加HTML。然后我使用QPrinter
以A4 PDF格式QPrinter::PdfFormat
打印,但打印出的PDF没有采用CSS样式表。我还尝试了QTextDocument::setDefaultHtml
和setResource
。以下是代码。如何在PDF格式中获取CSS样式? 我使用ubuntu和qmake进行编译。
const int highQualityDPI = 300;
QDir::setCurrent(QCoreApplication::applicationDirPath());
QFile htmlFile ("myhtml.html");
if (!htmlFile.open(QIODevice::ReadOnly | QIODevice::Text)){
return -1;
}
QString htmlContent;
QTextStream in(&htmlFile);
htmlContent=in.readAll();
QFile cssFile ("style.css");
if (!cssFile.open(QIODevice::ReadOnly | QIODevice::Text)){
return -1;
}
QString cssContent;
QTextStream cssIn(&cssFile);
cssContent = cssIn.readAll();
QTextDocument *document = new QTextDocument();
document->addResource( QTextDocument::StyleSheetResource, QUrl( "style.css" ), cssContent );
document->setHtml( htmlContent );
QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("output.pdf");
document->print(&printer);
delete document;
return 0;
QWebEngineView :: render(QPaintDevice *,const QPoint&,const QRegion&,RenderFlags)
。 - Konstantin T.