Qt QPrinter 繪製內容 到 PDF檔案
阿新 • • 發佈:2019-02-09
遇到問題:
需要把圖片、文字匯出為PDF,且圖片上有文字。
首先在.pro 新增 模組
QT += printsupport
實驗程式碼:
#include <QPainter> #include <QPrinter> #include <QPixmap> #include <QBrush> { QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat);//設定輸出格式為pdf printer.setPageSize(QPrinter::A4);//設定紙張大小為A4 printer.setOutputFileName("D:\\test.pdf");//設定輸出路徑 QPainter painter; painter.begin(&printer); //正常使用painter 繪製文字、pixmap等在printer上 //要先畫圖片,然後畫圖片上面的內容,否則圖片會覆蓋其他內容 QPixmap pixmap("D:\\pic.png"); painter.drawPixmap(rect(), pixmap); painter.setPen(Qt::blue); painter.setFont(QFont("Arial", 30)); painter.drawText(rect(), Qt::AlignCenter, "444Qt"); QPen pen; pen.setWidth(40); painter.drawLine(10,20,200,400); QBrush brush; pen.setColor(Qt::red); brush.setColor(Qt::red); brush.setStyle(Qt::SolidPattern); painter.setBrush(brush); painter.setPen(pen); painter.drawRect(200,400,500,600); //至此,檔案被儲存 painter.end(); }
效果: