"你确定要打印X页吗?" 实际打印前的对话框...(适用于任何应用)

Tar*_*mán 5 printing hook driver

在允许人们进行打印的网吧中,有时他们会打印比他们预期更多的页面.

我正在寻找一种方式来显示"你确定要打印X页吗?" 按下打印后(在任何应用程序中),但在将作业发送到队列之前的对话框.

我正在寻找关于如何实现这样一个钩子的指针.

(我考虑修改FOSS PDF打印机首先打印成PDF然后显示对话框然后如果用户按下"是",则将其打印在真实打印机上.但这似乎是一种非常迂回的方式以这种方式丢失特定于打印机的功能.)

Bil*_*ill 3

您可以做的一件事(也是一种迂回)是暂停打印后台处理程序,打印您的作业,获取页数,然后提示用户确认。如果用户同意该作业,则释放假脱机程序。我没有方便的 API 调用,但我可以很轻松地操纵后台处理程序队列。

当然,这个想法的缺点是,如果队列是基于服务器的,则可能会出现潜在的权限问题。

另一种替代方法是强制输出到 WMF 或 EMF 文件,并以这种方式计算页数,然后将其交给假脱机程序。这类似于将其输出到 PDF 的概念,但使用本机方法。(这本质上是应用程序通常为预览所做的事情——以图元文件格式渲染作业,然后将其显示在屏幕上或假脱机到打印机)

不幸的是,除非您非常了解内容并能够判断,否则无法在渲染打印作业之前获得页数,因此您至少不得不执行打印操作。

希望这可以帮助。