码迷,mamicode.com
首页 > 其他好文 > 详细

文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)

时间:2016-02-01 20:35:11      阅读:850      评论:0      收藏:0      [点我收藏+]

标签:

 程序中数据导出是经常有的需求,今天学习把文本导出到pdf文件。主要是用QPrinter,QPainter

 

[cpp] view plain copy
 
  1. TextEditToPdf::TextEditToPdf(QWidget *parent, Qt::WFlags flags)  
  2.     : QDialog(parent, flags)  
  3. {  
  4.     ui.setupUi(this);  
  5.     int ret = connect(ui.m_pExportBtn,SIGNAL(clicked()),this,SLOT(exportSlot()));  
  6. }  
  7.   
  8. TextEditToPdf::~TextEditToPdf()  
  9. {  
  10.   
  11. }  
  12.   
  13. void TextEditToPdf::exportSlot()  
  14. {  
  15.       
  16.     QTextDocument  textDocument;  
  17.     QPrinter printer(QPrinter::ScreenResolution);  
  18.     printer.setPaperSize(QPrinter::A4);  
  19.     printer.setPageMargins(30,30,30,30,QPrinter::DevicePixel);  
  20.     printer.setOutputFormat(QPrinter::PdfFormat);  
  21.     printer.setOutputFileName(QString("11") + ".pdf");  
  22.     QPainter painter( &printer );  
  23.     QFont font;  
  24.     font.setPixelSize(15);  
  25.     painter.setFont(font);  
  26.     QTextOption textOption( Qt::AlignCenter);  
  27.     QPen pen;  
  28.     pen.setColor(Qt::black);  
  29.     pen.setWidth(1);  
  30.     painter.setPen(pen);  
  31.   
  32.     int paperWidth = printer.width();  
  33.     int paperHeigth = printer.height();  
  34.   
  35.     painter.drawText( QRect(QPoint( 30,30),QPoint(paperWidth - 30,paperHeigth- 20)),ui.m_pTextEdit->toPlainText (),textOption);  
  36.     textDocument.print(&printer);  
  37.   
  38. }  

技术分享

 

技术分享

http://blog.csdn.net/hai200501019/article/details/37576715

文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)

标签:

原文地址:http://www.cnblogs.com/findumars/p/5176069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!