Javascript - 如何判断window.print()是否成功?

时间:2014-06-23 19:34:15

标签: printing javascript

我有一个页面,用户可以使用图像和数据打印一些pdf。 我希望他们能够打印他们想要的文件数量,并且能够暂停它们 - 这意味着他们可以停止打印并防止打印尚未发送到打印机的内容;那些已经被送到打印机的人当然不能停下来。

问题是:为了能够暂停打印,我无法立即发送所有内容。我必须逐个发送它们然后接收一些返回值,这将告诉我最后一个打印作业已经完成/成功,允许打印以下文件......

我正在使用window.print(),但我读过没有返回值,所以也许我应该放手。

我有可能获得一个返回值以允许用户控制打印流程吗?

1 个答案:

答案 0 :(得分:1)

确实没有办法在浏览器中执行您正在寻找的内容。有 window.onbeforeprintwindow.onafterprint事件,但没有从操作系统打印功能到浏览器的任何反馈。

在非浏览器应用程序中也没有办法处理这个问题。当然,操作系统可以告诉您打印机是否已吸收"这项工作,但取决于打印机的排队方式,这可能只是意味着作业已经移动到从属队列(例如打印机内部)并且纸张实际上没有打印。

当我被要求这样做时(在我写的库存管理应用程序中标签打印)我只是要求用户确认打印成功。我不喜欢这样做,但是真的没有人能看到打印输出并决定确认打印成功。

(我们只需要一个带有扫描仪的打印机,在纸张路径中可以验证输出...>微笑<然后我们需要在扫描仪之后确认纸张路径中的卡纸扫描仪没有使纸张上升...然后我们需要一个卡纸传感器卡纸传感器来确保卡纸传感器没有堵塞...它的乌龟一路向下。)