Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让PHP等到PDF被创建出来打印?_Php_Laravel_Pdf_Printing_Cups - Fatal编程技术网

如何让PHP等到PDF被创建出来打印?

如何让PHP等到PDF被创建出来打印?,php,laravel,pdf,printing,cups,Php,Laravel,Pdf,Printing,Cups,我有一个脚本,它创建了一个PDF文档,并继续发送它进行打印。碰巧我需要等待文档被创建,检查并最近发送打印 define('TIKET_DIR', public_path('temp/')); $token = sha1(microtime().'tk'); $pdfPath = TIKET_DIR.$token.'.pdf'; $html2pdf = new HTML2PDF('V', array('72', '110'), 'es', true, 'UT

我有一个脚本,它创建了一个PDF文档,并继续发送它进行打印。碰巧我需要等待文档被创建,检查并最近发送打印

    define('TIKET_DIR', public_path('temp/'));
    $token = sha1(microtime().'tk');
    $pdfPath = TIKET_DIR.$token.'.pdf';    
    $html2pdf = new HTML2PDF('V', array('72', '110'), 'es', true, 'UTF-8', 0);
    $html2pdf->WriteHTML($html);
    $html2pdf->Output($pdfPath, 'F');
    $cmd = "lpr -P".$ococina->impresora." ";
    $cmd .= $pdfPath;
    $response = shell_exec($cmd);
变量$html是动态创建的,可能会延迟。通常打印PDF文档,但有时不打印,我认为这是因为执行lpr命令时PDF文档未准备就绪。我在Ubuntu和CUPS打印服务器上使用LEMP。我必须关闭和打开连接到计算机的所有打印机,只打印之前发送的PDF文档


提前感谢。

好吧,PHP有一个睡眠功能:

int sleep ( int $seconds )
(见:) 但这不是解决问题的好办法。此外,您可能会遇到Web服务器或PHP设置定义的最大执行时间


也许可以研究异步解决方案?例如,处理pdf和电子邮件所需的信息时,请使用下面的代码,这就像一个符咒

html2pdf().from(element).save().then(function () {
    // Whatever you want to happen when it's done!
});

Php函数s被阻塞,如果是,为什么有时打印机会停止?我有3台爱普生TM-T20II热敏打印机,一次连接到服务器和客户端。可能是进程过载?驱动程序错误?这是一个餐厅软件,热敏打印机接收订单。我会试着睡觉,但不太理想。