Как отправить шрифт ZPL или изображение на принтер Zebra, используя переполнение стека

Я знаю, как распечатать ZPL через PHP с помощью fsockopen, но у меня также есть несколько файлов ZPL, содержащих шрифты и графику, используемые на моих этикетках.

Может кто-нибудь сказать мне, как отправить сырой файл ZPL на принтер с помощью PHP? На данный момент я использую Zebranet Bridge, но я предпочитаю делать это с помощью PHP.

0

Решение

Предполагая, что вы знаете, как отправлять команды ZPL на принтер через PHP, и вы хотите печатать шрифт или графику теми же способами, вы должны

  1. получить размер вашего ресурса и преобразовать его двоичные данные в шестнадцатеричную строку ASCII:

    <?php
    $res_size = 0;
    $res_string = "";
    $res_source = "http://php.net/images/logo.php";
    $handle = fopen($res_source,"rb");
    while (!feof($handle)) {
    $data = fread($handle,1);
    $res_size++;
    $res_string .= bin2hex($data);
    }
    ?>
    
  2. составьте скрипт ZPL для загрузки преобразованного ресурса в память принтера:

    <?php
    require('bin2hex.php');   // script (1) above
    $zpl_download = "^XA";
    $zpl_download .= "~DYE:RES,P,P,";
    $zpl_download .= $res_size;
    $zpl_download .= ",,";
    $zpl_download .= $res_string;
    $zpl_download .= "^XZ";
    ?>
    
  3. составьте скрипт ZPL для печати загруженного файла:

    <?php
    $zpl_print = "^XA";
    $zpl_print .= "^FO50,50";
    $zpl_print .= "^IME:RES.PNG";
    $zpl_print .= "^XZ";
    ?>
    
  4. написать сценарий PHP, требующий для отправки сценарии (2) и (3) выше $zpl_download а также $zpl_print к принтеру.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]