Qt 打印PDF

Qt 打印PDF,第1张

这里PDF打印不是指在窗口中输入内容然后打印出来,也不是唤醒PDF阅读器的打印预览页面,而至获取到PDF或者打开本地PDF文件,然后打印

获取到一段 PDF的二进制流,将二进制流的PDF进行选择打印机打印,这里也可以作为打开本地PDF文件打印

Qt 自带的QPrinter,支持QTextDocument文档打印,支持html打印,也支持 QPixmap打印,这里思路是将PDF逐张转成QImage,然后再转成QPixmap打印。

尝试了poppler和mupdf两种第三方包,发现都需要本地编译,mupdf官网的描述更加简单,后来找到了poppler已经编译好的包,将相关头文件以及 dll 加入项目。

loadFromData和load分别对应转换本地文件以及二进制流

参考资料

QtMupdf

pdf 环境搭建poppler+qt5

使用QtPrinter接流打印的步骤如下:

1.首先,将QtPrinter实例化,并设置打印机的名称、文件名等参数;

2.调用QtPrinter的start()方法,开始接收打印流;

3.调用QtPrinter的write()方法,将打印流写入QtPrinter;

4.调用QtPrinter的end()方法,结束接收打印流;

5.调用QtPrinter的print()方法,开始打印文件;

6.调用QtPrinter的finish()方法,完成打印文件的处理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11705082.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存