一、生成纯文本pdf QPrinterprinter_pixmap(QPrinter::HighResolution); printer_pixmap.setPageSize(QPrinter::A4); //设置纸张大小为A4 printer_pixmap.setOutputFormat(QPrinter::PdfFormat); //设置输出格式为pdf printer_pixmap.setOutputFileName("F:\\test_pixmap.pdf"); //设置输出路径 QPixmappixmap=ui->webView->grab(ui->webView->rect()); ui->label->setPixmap(pixmap); ui->webView->print(&printer_pixmap); 二、从html(富文本)生成pdf QTextDocumentdoc; doc.setHtml("<h1>hello,I'manhead</h1>"); QPrinterprinter(QPrinter::HighResolution); printer.setPageSize(QPrinter::A4); printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("c:\\file.pdf"); doc.print(&printer); 三、写入图片到pdf QPrinterprinter(QPrinter::HighResolution); printer.setPageSize(QPrinter::A4); printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("c:\\file.pdf"); printer.setOutputFormat(QPrinter::PdfFormat); QPainterpainter; painter.begin(&printer); QPixmappixmap("C:/output.png"); pixmap.size(); painter.drawPixmap(0,0,pixmap.size().width(),pixmap.size().height(),pixmap); painter.end(); 四、将控件界面截图写入到pdf QPrinterprinter_pixmap(QPrinter::HighResolution); printer_pixmap.setPageSize(QPrinter::A4); printer_pixmap.setOutputFormat(QPrinter::PdfFormat); printer_pixmap.setOutputFileName("F:\\test_pixmap.pdf"); ui->webView->print(&printer_pixmap);