php - 如何让 PHP 等到为打印创建 PDF?

标签 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, '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和e-mail之后需要处理的信息

关于php - 如何让 PHP 等到为打印创建 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30908606/

相关文章:

Laravel 5.4 验证规则 - 可选,但如果存在则验证;

php - 有没有办法在自定义\Illuminate\Contracts\Validation\Rule 中使用参数

node.js - 从命令行 (NodeJS) 运行 Adob​​e Acrobat 操作

javascript - 如何动态缩放pdf图像

php - 如何获取特定的 PHP 变量以通过 AJAX 调用发送?

php - mysql返回相同的行并集

php - 使用 Zend Framework 忽略文件上传的空实例?文件因此无法上传

php - 我可以以更紧凑的方式重写多个变量赋值吗?

laravel - 将自定义列添加到 Eloquent 查询结果(Laravel)

javascript - 想要在 IE11 中显示 GET 请求返回的 PDF 文档