您的位置:首页 > 编程语言 > Qt开发

使用Qt生成PDF文件

2015-07-03 09:58 681 查看


一、生成纯文本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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: