zoukankan      html  css  js  c++  java
  • 使用QPrinter生成pdf或用打印机打印数据

    1.使用html生成表格

    QString wesiOperateWidget::MakeDataToHtml()
    {
        //表头
        //html = "<table width=100% border=1 cellspacing=0 text-align=center style=border-collapse:collapse>";
        //html += "<tr>";
        //html += "<th>编号</th>";
        //html += "<th>姓名</th>";
        //html += "<th>头部成绩</th>";
        //html += "<th>胸部成绩</th>";
        //html += "</tr>";
        ////数据
        //html += "<tr>";
        //html += "<td align=center>1</td>";
        //html += "<td align=center>赵六</td>";
        //html += "<td align=center>100</td>";
        //html += "<td align=center>400</td>";
        //html += "</tr>";
        //html += "</table>";
        QString html;
        html = "<table width=100% border=1 cellspacing=0 text-align=center style=border-collapse:collapse>";
        html += "<tr>";
        html += "<th>编号</th>";
        html += "<th>姓名</th>";
        html += "<th>头部成绩</th>";
        html += "<th>胸部成绩</th>";
        html += "</tr>";
        QStringList dataStringList;
        QStringList rowInfoList;
        html += "<tr>";
        foreach(QString str, dataStringList)
        {
            rowInfoList = str.split(",");
            for(int i = 0; i < 8; i += 2)
            {
                if(rowInfoList[i] == "number")
                {
                    html = html + "<td align=center>" + rowInfoList[i + i] + "</td>";
                }
                else if(rowInfoList[i] == "name")
                {
                    html = html + "<td align=center>" + rowInfoList[i + i] + "</td>";
                }
                else if(rowInfoList[i] == "headscore")
                {
                    html = html + "<td align=center>" + rowInfoList[i + i] + "</td>";
                }
                else if(rowInfoList[i] == "bodyscore")
                {
                    html = html + "<td align=center>" + rowInfoList[i + i] + "</td>";
                }
            }
        }
        html += "</tr>";
        html += "</table>";
        return html;
    }
    view code

    2.生成pdf文档

        QPrinter printer;
        printer.setPageSize(QPrinter::A4);
        printer.setOutputFormat(QPrinter::PdfFormat);
        QString filepath = QFileDialog::getSaveFileName(this, tr("保存为..."), tr("D://成绩.pdf"), tr("PDF格式(*.pdf)"));
        printer.setOutputFileName(filepath);
        QTextDocument textDocument;
        textDocument.setHtml(MakeDataToHtml());
        textDocument.print(&printer);
        QMessageBox::about(this, tr("提示"), tr("保存成功"));
    View Code

    3.使用打印机打印

    1     QPrinter printer;
    2     printer.setPageSize(QPrinter::A4);
    3     QPrintDialog printDialog(&printer, this);
    4     if (printDialog.exec()){
    5         QTextDocument textDocument;
    6         textDocument.setHtml(MakeDataToHtml());
    7         textDocument.print(&printer);
    8     }
    View Code
  • 相关阅读:
    MongoDB监控一 mongostat
    PHP 中 AJAX 中文乱码解决
    php常用的header头
    PHP判断访客是否移动端浏览器访问
    PHP部分字符串函数汇总
    memcached启动参数
    处理PHP中字符串的常用操作及函数
    Linux Top 命令解析
    XML的特殊字符
    Zookeeper学习(转自知乎)
  • 原文地址:https://www.cnblogs.com/jck34/p/4107885.html
Copyright © 2011-2022 走看看