0

我正在测试下面的代码以打印带有自定义文本的标签

    $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";
        }
    }

它工作正常,但我正在寻找方法来找出打印机是否已成功打印数据,即如果没有纸,它仍然可以打印成功打印

4

1 回答 1

1

您想要的是 ZPL 命令~HS(主机状态)。它返回一个三行响应,其中包含有关打印机当前状态的大量有用信息。前两行提供标签存在、缺纸、抬头、温度过高/过低等标志。

有关详细信息,请参阅https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf

于 2020-01-20T14:29:27.667 回答