【问题标题】:Bill printing jobs票据打印作业
【发布时间】:2011-08-23 12:58:58
【问题描述】:

我正在寻找一种方法来连接机器上的所有打印作业。

我们有一些 Kiosk 计算机运行 Windows XP,我们希望允许客户打印。我们希望能够捕获打印作业,因为它被发送到打印机,分析它,向用户显示打印价格的对话框,如果他批准 - 将作业发送到打印机。

如果他不同意,必须取消工作。

我的第一个想法是使用钩子。但是有打印作业的钩子吗?它是如何使用的?

也有人提到PCL(Printer Command Language),意思是我们为本地打印机驱动写一个包装器。这有多难?我在哪里可以找到 PCL 的好教程?

PJL(打印机作业语言)呢?

目标语言是 c++。

您的意见将不胜感激。

谢谢, 夏日灯泡

【问题讨论】:

    标签: c++ windows-xp hook kiosk printer-control-language


    【解决方案1】:

    您可以使用WMI 获取有关使用Win32_PrintJob 的新打印机作业的通知。

    创建作业后,立即调用 Pause 以暂停,显示您的 GUI。如果客户端接受作业,调用Resume 来实际打印文件。

    有关处理 WMI 通知的 C++ 示例,请参阅 Example: Receiving Event Notifications Through WMI

    【讨论】:

    • 我的一些同事声称 WMI 非常不可靠。由于我们正在处理计费问题,因此可靠性是必须的。
    • @summerbulb:我建议只是测试一下,而不是根据恐惧、不确定性和怀疑做出技术决策。我工作得很好,但我并没有声称它没有错误(就像我不会声称任何软件都没有错误一样,除了 TeX :-)。
    • 我们决定使用 WMI。如果我们遇到不可靠性问题,我会通知您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多