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

 程序中数据导出是经常有的需求,今天学习把文本导出到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. }  

文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)_第1张图片

 

文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)_第2张图片

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

你可能感兴趣的:(文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument))