我有一个脚本,可以创建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文档,但有时不打印,我认为这是因为在没有准备好PDF文档的情况下执行了lpr命令。我在带有CUPS打印服务器的Ubuntu上使用LEMP。我必须关闭并打开所有连接到计算机的打印机,然后再打开以前发送过的PDF文档。
提前感谢。
嗯,PHP具有睡眠功能:
int sleep ( int $seconds )
(请参阅:http://php.net/manual/en/function.sleep.php)但这不是解决问题的好方法。同样,您可能会遇到网络服务器或PHP设置所定义的最大执行时间。
也许正在研究异步解决方案?例如,之后需要pdf和电子邮件的处理信息
使用下面的代码,它就像一个魅力。
html2pdf().from(element).save().then(function () {
// Whatever you want to happen when it's done!
});