从C ++代码设置AdvancedPrintingOptions

时间:2016-01-29 21:16:04

标签: c++ qt printing

我正和我的朋友一起创建一个简单的Photo Booth设备。我们使用的是DNP RX1打印机,这台打印机可以将照片剪成两半。 直接从Windows切割打印照片时,可以通过打印机属性中的“高级选项”窗口将其设置为启用/禁用。

How to Enable/Disable Cut (2inch cut)

我正在申请此Photo Booth设备(在Windows 7上开发)。我正在使用C ++和Qt作为我的GUI框架。 Qt库中有一个QPrintSupport模块,可用于从我的应用程序打印图像,我知道如何操作。但问题是没有办法使用Qt库启用/禁用这个“切成两半的照片”选项。可以使用QPrintDialog类向用户显示设置窗口,但我希望自动拍照和打印的过程(用户只需按开始按钮,微笑并等待照片出来)。我解决此问题的方法是将文件保存到两个文件夹,并使用不同的程序从第一个文件夹中打印照片并启用剪切选项,并从另一个文件夹中删除剪切选项。但问题是打印机有时被检测为DS-RX1,有时被称为“DS-RX1(复制)”甚至“DS-RX1复制1”,那么这个解决方案不起作用,有人不得不手动删除打印机系统并重新连接。

我的问题是:有没有办法使用默认打印机从C ++程序打印照片并从C ++代码更改此高级打印机选项(2英寸剪切)?或者:有没有办法强制将此打印机始终检测为DS-RX1?

1 个答案:

答案 0 :(得分:0)

也许你可以通过子串“DS-RX1”设置priner。 您可以通过子字符串 获取可用打印机列表 http://doc.qt.io/qt-5/qprinterinfo.html#availablePrinters作为变种,您可以通过 setPrinterName 设置打印机 function http://doc.qt.io/qt-5/qprinter.html#setPrinterName