我有一个脚本可以创建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上使用LEMP和CUPS打印服务器。我必须关闭并打开所有连接到计算机的打印机,只打开以前发送过的PDF文档。
提前致谢。
答案 0 :(得分:1)
好吧,PHP有一个睡眠功能:
int sleep ( int $seconds )
(见:http://php.net/manual/en/function.sleep.php) 但这不是解决问题的好方法。此外,您可能会遇到由Web服务器或PHP设置定义的最长执行时间。
也许看看异步求解?例如,之后pdf和电子邮件所需的流程信息
答案 1 :(得分:-1)
使用下面的代码,它就像一个超级按钮。
html2pdf().from(element).save().then(function () {
// Whatever you want to happen when it's done!
});