Проверьте состояние принтера в PHP7 - PullRequest
0 голосов
/ 20 января 2020

Я тестирую приведенный ниже код для печати этикеток с пользовательским текстом

    $outputString='^XA
^FO100, 200
^AD,50,25
^FH_^FD Hello world _7E ^FS
^XZ';
     $Ip='xxx.xxx.x.xx';
     $port='xxxx'
        $fp = fsockopen($Ip, $port, $errno, $errstr);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        try {
            $kk=fwrite($fp, $outputString, strlen($outputString));
            fclose($fp);
            echo 'Successfully Printed';
        } catch (Exception $e) {
            echo 'Caught exception: ', $e->getMessage(), "\n";
        }
    }

Он работает нормально, но я ищу способ выяснить любой способ или способ выяснить, печатал ли принтер данные успешно, т.е. если бумаги нет, она все еще печатает успешно напечатано

1 Ответ

1 голос
/ 20 января 2020

То, что вы хотите, это команда ZPL ~HS (Host Status). Он возвращает трехстрочный ответ с большим количеством полезной информации о текущем состоянии принтера. В первых двух строках указаны флажки для наличия этикетки, отсутствия бумаги, повышения температуры, повышения / понижения температуры и т. Д. c.

Подробнее см. https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf

...