由于工作中需要将应用程序的某些界面截图,并加上注释,并输出为PDF文件,在网上查阅了一些资料,整理汇总后发现有两种方法:一是Qt4版本利用QPrinter将文件输出为PDF。而是Qt5版本写新出的类QPdfWriter,更加快捷精准输出为PDF文件。两者的相同之处都是利用QPainter在其中绘制PDF文件。
在Qt4版本下利用QPrinter将某个控件,或者利用QWidget::grab将控件或界面输出为PDF,主要的流程为:
--利用QPrinter设置分辨率,纸张尺寸及输出格式(PDF)
--利用QFileDialog设置文件输出路径
--利用QPainter直接在QPrinter上绘图(QPainter.begin(QPrinter)
详细代码及注释如下:
//利用QPrinter输出为PDF格式并设置分辨率及纸张尺寸
QPrinter pic_printer(QPrinter::ScreenResolution); //设置分辨率
pic_printer.setPageSize(QPrinter::A4); //设置纸张尺寸,默认不设置就是A4
pic_printer.setOutputFormat(QPrinter::PdfFormat); //设置输出格式pdf
//用文件对话框设置输出路径
QString file_path = Q