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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本导出到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. }  

技术分享

 

技术分享

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

以上是关于文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)的主要内容,如果未能解决你的问题,请参考以下文章

Qt -QPrinter - Pdf [Qt QPrinter 绘制内容 到 PDF文件]

是否可以从 QPrintDialog 调用的 QPrinter 对话框中取消选中“打印到文件”?

QWebEnginePage 打印到 PDF 不会像 Google Chrome 一样打印 PDF 中的可选文本

Qt4:将 SQL 表打印为 PDF

y 的第 x 页使用 QPrinter

qt导出pdf包含图片与文字不能同时