[英]How to add QT HTML String to CSS file?
我有這個代碼來打印我的數據。 但我無法將 html 字符串添加到 css。 我需要將 pdf 文檔添加到 css。 因為 html 字符串非常靠近紙張的右側。
QString html=
"<!DOCTYPE html><html><body><b>"+json_map["Sample"].toString()+": </b><a>"+ui->sampleText->text()+"</a><br><b>"+json_map["Operator"].toString()+" : </b> <a>"+ui->operatorText->text()+"</a><br><b>"+json_map["Evalutaion"].toString()+" : </b> <a>"+ui->evalText->text()+" </a><br>"+
"<b>"+json_map["Date"].toString()+" : </b> <a>"+ui->date->text()+"</a><br><br>"+
"<b>"+json_map["Mixer"].toString()+" : </b> <a>300 </a>"+
"<b>"+json_map["Moisture"].toString()+ ": </b> <a>"+ui->moistureText->text()+"</a><br>"+
"<a>"+json_map["Consistency"].toString()+ ": </a><b></b><a>"+json_map["With"].toString()+" </a><a>"+ui->absorptionText->text()+"</a><br><br>"+
"<b>"+json_map["Water500Fu"].toString()+" : </b> <a></a><br>"+
"<b>"+json_map["Water14%"].toString()+" : </b> <a></a><br>"+
"<b>"+json_map["DevelopmentTime"].toString()+" : </b> <a></a><br>"+
"<b>"+json_map["Stability"].toString()+" : </b> <a></a><br>"+
"<b>"+json_map["Softening10min"].toString()+" </b> <a></a><br>"+
"<b>"+json_map["Softening12min"].toString()+" : </b><a></a><br>"+
"<b>"+json_map["FQN"].toString()+" : </b> <a></a><br>"+
"<b>"+json_map["Remarks"].toString()+" : </b><a>"+ui->remarkText->text()+"</a><br>"+
"</body>"+
"</html>";
QTextDocument parent;
parent.setHtml(html);
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setColorMode(QPrinter::Color);
printer.setOutputFileName(QDir::homePath()+"/Desktop/"+ui->operatorText->text());
QPrintDialog *dlg = new QPrintDialog(&printer, this);
dlg->setWindowTitle(QObject::tr("Bastak Test"));
if(dlg->exec() == QDialog::Accepted) {
QPainter painter(&printer);
painter.drawPixmap(500, 5500, QPixmap(ui->qcustom->toPixmap(800,500,10.0)));
parent.setDefaultFont(QFont("Times", 200));
parent.drawContents(&painter);
painter.end();
//formula.savejson(printer.outputFileName());
}
delete dlg;
我有點理解你的問題,所以我做一些假設,等待你的答復:
所以為了測試它,我做了以下最小的例子:
#include <memory>
#include <QApplication>
#include <QPrinter>
#include <QString>
#include <QDebug>
#include <QTextDocument>
#include <QDir>
#include <QPrintDialog>
#include <QPainter>
int main( int argn, char **argc)
{
QApplication app(argn, argc);
QString html="<!DOCTYPE html><html><body style='color: blue;'>Hello World!</body></html>";
QTextDocument parent;
parent.setHtml(html);
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setColorMode(QPrinter::Color);
printer.setOutputFileName("test.pdf");
QPainter painter(&printer);
parent.setDefaultFont(QFont("Times", 200));
parent.drawContents(&painter);
painter.end();
return 0;
}
我得到以下結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.