qt中调用打印机打印字符
2015-01-10 20:07
232 查看
qt中调用打印机打印字符
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:WIN8开发环境:Qt5.4.0
说明:调用热敏打印机,打印测试字符
源码:pro文件加载库文件
参考资料:
1.浅谈QT打印功能实现
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:WIN8开发环境:Qt5.4.0
说明:调用热敏打印机,打印测试字符
源码:pro文件加载库文件
#------------------------------------------------- # # Project created by QtCreator 2015-01-10T09:52:53 # #------------------------------------------------- QT += core gui qtHaveModule(printsupport): QT += printsupport greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = test_printer TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.uimainwindows.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QPrintDialog> #include <QPrinter> #include <QPrintPreviewDialog> #include <QFileDialog> #include <QPageSetupDialog> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); void doPrint(); void doPrintPreview(); void printPreview(QPrinter *printer); void createPdf(); void setUpPage(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_Hmainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #include <QTextDocument> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { QPrinter printer; QTextDocument doc; QFont font("宋体",2); doc.setDefaultFont(font); // QFont font = doc.defaultFont(); // font.setBold(true); // font.setPointSize(10); // doc.setDefaultFont(font); QSizeF s = QSizeF(printer.logicalDpiX() * (58 / 25.4), printer.logicalDpiY() * (297 / 25.4)); doc.setPageSize(s); printer.setPageSizeMM(s); printer.setOutputFormat(QPrinter::NativeFormat); doc.setPlainText("I am jdh!\n打印测试"); doc.print(&printer); } void MainWindow::doPrint() { // 创建打印机对象 QPrinter printer; // 创建打印对话框 QString printerName = printer.printerName(); if( printerName.size() == 0) return; QPrintDialog dlg(&printer, this); //如果编辑器中有选中区域,则打印选中区域 if (ui->textEdit->textCursor().hasSelection()) dlg.addEnabledOption(QAbstractPrintDialog::PrintSelection); // 如果在对话框中按下了打印按钮,则执行打印操作 if (dlg.exec() == QDialog::Accepted) { //ui->textEdit->print(&printer); // print the existing document by absoult path //printFile("D:/1.doc"); QTextDocument doc; //doc.setHtml(htmlString); QFont font = doc.defaultFont(); font.setBold(true); font.setPointSize(10); doc.setDefaultFont(font); QSizeF s = QSizeF(printer.logicalDpiX() * (58 / 25.4), printer.logicalDpiY() * (297 / 25.4)); //doc.setPageSize(s); printer.setPageSizeMM(s); printer.setOutputFormat(QPrinter::NativeFormat); doc.setHtml("店联"); doc.print(&printer); } } // 打印预览 void MainWindow::doPrintPreview() { QPrinter printer; // 创建打印预览对话框 QPrintPreviewDialog preview(&printer, this); // 当要生成预览页面时,发射paintRequested()信号 connect(&preview, SIGNAL(paintRequested(QPrinter*)), this,SLOT(printPreview(QPrinter*))); preview.exec(); } void MainWindow::printPreview(QPrinter *printer) { //ui->textEdit->print(printer); QTextDocument doc; //doc.setHtml(htmlString); // QFont font = doc.defaultFont(); // font.setBold(true); // font.setPointSize(font.pointSize() + 1); // doc.setDefaultFont(font); QSizeF s = QSizeF(printer->logicalDpiX() * (58 / 25.4), printer->logicalDpiY() * (297 / 25.4)); // doc.setPageSize(s); printer->setPageSizeMM(s); printer->setOutputFormat(QPrinter::NativeFormat); doc.setHtml("店联"); doc.print(printer); } // 生成PDF文件 void MainWindow::createPdf() { QString fileName = QFileDialog::getSaveFileName(this, tr("导出PDF文件"), QString(), "*.pdf"); if (!fileName.isEmpty()) { // 如果文件后缀为空,则默认使用.pdf if (QFileInfo(fileName).suffix().isEmpty()) fileName.append(".pdf"); QPrinter printer; // 指定输出格式为pdf printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName(fileName); ui->textEdit->print(&printer); } } // 页面设置 void MainWindow::setUpPage() { QPrinter printer; QPageSetupDialog pageSetUpdlg(&printer, this); if (pageSetUpdlg.exec() == QDialog::Accepted) { printer.setOrientation(QPrinter::Landscape); } else { printer.setOrientation(QPrinter::Portrait); } }
参考资料:
1.浅谈QT打印功能实现
相关文章推荐
- QT调用打印机打印html网页及文件
- Delphi调用打印机的ZPL指令来打印数据
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- Java使用jacob调用默认打印机打印Word和excel
- js调用打印机打印网页字体总是缩小一号的解决方法
- js调用打印机打印网页
- flex打印pdf(调用本地打印机)
- JS设置打印页面并调用本地打印机打印页面
- JAVA调用系统打印机打印字符串
- Java如何调用系统打印机打印文件
- js调用打印机打印网页字体总是缩小一号的解决方法
- java调用条码打印机指令进行打印
- JS调用打印机打印Web页面
- C# 调用系统API函数直接连接pos打印机 打印
- C#调用打印机,打印图片
- 分享一段用VC调用默认打印机打印菜单的程序
- 网页打印自动调用默认打印机打印
- java如何调用本地打印机进行图片打印
- 有关于用java来调用打印机进行打印时的设置问题
- jcob操作Excel文档,并且调用打印机打印(Excel导出是用POI)