QT PDF操作

本文介绍了如何使用QT库进行PDF文件的导出操作,详细阐述了相关步骤和关键代码,帮助开发者实现PDF文件的创建和编辑功能。
摘要由CSDN通过智能技术生成

QT PDF导出操作


利用   

QString html;

savePathString 为保存路径
html 为QString

将字符按HTML标准格式添加至QSTRING ,然后转出

    QPrinter printer_html;
    printer_html.setPageSize(QPrinter::A4);
    printer_html.setOutputFormat(QPrinter::PdfFormat);
    printer_html.setOutputFileName(savePathString);
    QTextDocument text_document;
    text_document.setHtml(html);
    text_document.print(&printer_html);
    text_document.end();

html组成举例

文字的打印
	 html +="<h3>"+QStringLiteral("批次信息")+"</h3>";
        html +="<p style=\"text-indent: 2em\" >"+QStringLiteral("批次名:");
        html += QString("%1").arg(record.value(1).toString());
        html += "</p>";
        html +="<p style=\"text-indent: 2em\" >"+QStringLiteral("批次抢建时间:");
        html += QString("%1").arg(record.value(2).toDateTime().toString("yyyy-MM-dd hh:mm:ss"));
        html += "</p>";
        html +="<p style=\"text-indent: 2em\" >"+QStringLiteral("批次更新时间:");
        html += QString("%1").arg(record.value(3).toDateTime().toString("yyyy-MM-dd hh:mm:ss"));
        html += "</p>";
        html +="<p style=\"text-indent: 2em\">"+QStringLiteral("检测总数:");
        html += QString("%1").arg(record.value(4).toString());
        html += "</p>";
        html +="<p style=\"text-indent: 2em\" >"+QStringLiteral("匹配总数:");
        html += QString("%1").arg(record.value(5).toString());
        html += "</p>";
表格添加
 
    QStringList title;
    title.push_back(QStringLiteral("序号"));
    // title.push_back(QStringLiteral("ID"));
    title.push_back(QStringLiteral("条形码"));
    title.push_back(QStringLiteral("检测时间"));
    title.push_back(QStringLiteral("模板"));
    title.push_back(QStringLiteral("检测元件总数"));
    title.push_back(QStringLiteral("匹配元件总数"));
    //title.push_back(QStringLiteral("批次名称"));



    html +="<table width=\"500\" border=\"1\" style=\"border-collapse:collapse;\" bordercolor=\"black\">";


    html +="<tr style=\background-color:black\">";


    for(int i=0;i<title.count();i++)
    {
        html +=QString("<th>%1</th>").arg(title.at(i));
    }
    html +="</tr>";


    QString seq;
    QString logId;
    QString serialNum;
    QString dataTime ;
    QString modelName ;
    QString count ;
    QString MatchCount;
    // QString batchName;


    for(int i=0;i< logModel->rowCount();i++)
    {
        QSqlRecord record = logModel->record(i);


        //  record.value(1).toString();
        // record.value(2).toDateTime().toString("yyyy-MM-dd hh:mm:ss")


        html +="<tr>";


        seq=QString::number(i);
        logId = record.value(0).toString();
        serialNum=record.value(1).toString();
        dataTime =record.value(2).toDateTime().toString("yyyy-MM-dd hh:mm:ss");
        modelName=record.value(3).toString();
        count =record.value(4).toString();
        MatchCount =record.value(5).toString() ;
        //  batchName =record.value(6).toString() ;




        html +=QString("<td>%1</td>").arg(seq);
        // html +=QString("<td>%1</td>").arg(logId);
        html +=QString("<td>%1</td>").arg(serialNum);
        html +=QString("<td
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值