美文网首页
php发送指令到斑马打印机

php发送指令到斑马打印机

作者: 哈哈新开张 | 来源:发表于2020-03-24 14:53 被阅读0次

    方法一

    $qr = '123456789';
    $label = '^XA^FO20,100^BQN,2,8^FDLA,'.$qr.'^FS^XZ';
    $fp = stream_socket_client("tcp://192.168.1.5:6101", $errno, $errstr);
    if (!$fp) {
        echo $errno - $errstr;
    } else {
        fwrite($fp, $label);
        fclose($fp);
    }
    
    

    方法二

    $ip = '192.168.1.5';
    $port = '9100';
    $qr = '123456789';
    $label = '^XA^FO20,100^BQN,2,8^FDLA,'.$qr.'^FS^XZ';
    if( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) ){        //IPv6
        $socket = socket_create(AF_INET6, SOCK_STREAM, SOL_TCP);
    }elseif( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ){    //IPv4
        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    }
    if ($socket&&@socket_connect($socket, $ip, $port)) {
        @socket_write($socket, $label);
        @socket_close($socket);
    }
    
    

    方法二需要 php_sockets.dll 扩展支持
    对比以上两种方法,在设备及网络正常情况下,第一种方法有一些延迟,还是选择了第二种方法。

    如果对ZPL不是很熟悉,查手册又怕麻烦,这里有个小方法:安装Bartender软件版本选7.75,再安装
    seagull斑马打印机驱动(例如105sl),要注意打印机分辨率是多少,这个关系到打印位置、字体大小等;
    安装之后,按实际情况设计标签,打印时选输出到文件。输出的文件就是ZPL。
    当条形码过小时,我们当时是一行两个,标签纸是5.1cm * 1cm 是无法打印出正确比例的,这时候就需要先把条形码生成图片,然后再打印,图片转zpl指令的,可查阅 https://github.com/robgridley/zebra
    需要注意的是需要PHP7.1版本,同时不要使用github上写的使用composer安装,会缺少文件的,直接下载为zip或composer安装后按要求调用下看缺少哪个文件再手动补下

    相关文章

      网友评论

          本文标题:php发送指令到斑马打印机

          本文链接:https://www.haomeiwen.com/subject/pyvoyhtx.html