C++访问打印机似乎无从下手。但是QT却让这个事情简单化、透明化了。
一、访问打印机
只需要使用 QPrinter、QTextDocument两个类,已经可以满足很多场景:
QPrinter printer; // 创建一个打印机,连接当前电脑的默认打印机
QTextDocument textDocument; // 创建QTextDocument对象
QString html = R"(<html><body><div style='color:red;'>Hello Printer!</div></body></html>)";
textDocument.setHtml(html); // 设置打印内容,支持html的样式设置
textDocument.print(&printer); // 输出到打印机
二、打印内容到PDF文档
为了方便调试打印的内容和排版样式,可以打印到PDF文档,节省调试的纸张。
使用方法也非常简单,与只需把QPrinter换成QPdfWriter,如下:
QPdfWriter printer("d://test.pdf");
QTextDocument textDocument;
QString html = R"(<html><body><div style='color:red;'>Hello Printer!</div></body></html>)";
textDocument.setHtml(html);
textDocument.print(&printer);
这也是一种把内容转化为PDF文档的简单方法。
简单分享,更多功能,如设置打印页面边距,设置纸张大小等,希望读者进一步查看Qt的帮助的文档,在此抛砖引玉。