发送虚拟数据到打印机以唤醒它

发送虚拟数据到打印机以唤醒它

我有一台连接到杯子的戴尔 B1260dn 单色激光打印机。它用于打印收据。

特别是早上,打印第一页需要将近一分钟,因为打印机似乎需要预热。

此外,在白天,启动时间会根据距离上次打印的时间长短而变化。

我想发送一个“嘿打印机,醒来,准备打印”的命令。

我尝试过这个:

require_once ('printipp/CupsPrintIPP.php');
$ipp = new PrintIPP();
$ipp->setHost("cupshost");
$ipp->setPort(613);
$ipp->setPrinterURI("/printers/printer2");
$ipp->setLog("/tmp/phpIPP", 'file', 3);
$ipp->setData(" ");
$ipp->printJob();

但这会发送一个空白页。

我试过了

$ipp->setData("");

但之后什么也没有发生;cups 日志中没有作业。

答案1

我还没有处理过这个问题,但我建议研究以下几点:

您的脚本向打印机发送的实际数据是什么?如果文件只有一个空字符,那会怎样?这是否仍会打印空白页?

查看手册,看看是否可以更改打印机“睡眠”状态的设置。也许这台打印机支持使用 telnet 登录以更改某种状态的方法。

查看是否创建原始 PostScript,设置打印机打印某些内容,但实际上不生成输出。例如加载某些字体,因此它会执行所有操作,但实际上不会打印输出。这可能会导致打印机“唤醒”。

我确实记得在某本打印机手册中读到过,打印机可以选择设置唤醒时间,这样就不会出现打印延迟。我不是说这台打印机有这个功能,但它可能有。

答案2

一个 cron 作业如何发送一个空白页的打印作业,然后立即取消它。通过反复试验,您可以找出在发送和取消命令之间要等待多长时间才能真正打印。然后以比休眠时间短的间隔运行它,或者更聪明地监视上一个打印作业并以此为基础执行下一个 cron 作业。

答案3

通常,如果打印机的性能比节能更重要,那么调整设备的睡眠定时器是有意义的。

装置规格声明第一页输出时间为:

从“就绪”模式:少于 8.5 秒;从“睡眠”模式:少于 14 秒

听起来你的经验已经远远超出了这个限制。我查看了手册,与一些高端型号不同,这款打印机无法调整睡眠、能源或超时设置。

为了节省电力,本机在不使用时会自动大幅降低功耗,从而节省电力。

相关内容