php控制标签打印机(斑马)

一、环境准备

  1. php环境:nginx+php5.5

  2. 安装php_printer扩展,下载地址:php_printer各版本扩展下载

  3. 64位的电脑选择php_printer-0.1.0-dev-5.5-nts-vc11-x64.zip

  4. 32位的电脑选择php_printer-0.1.0-dev-5.5-nts-vc11-x86.zip

  5. 斑马打印机

  6. 打印机驱动及ZebraDesigner 2软件

  7. 确保ZebraDesigner 2软件或excel软件可以打出条码

###二、php代码

1、上代码

//连接打印机,最好不要用局域网的连接方式,因为printer_write可能没权限
//局域网使用\\\\192.168.1.100\\ZDesigner GK888t (EPL)这样的方式连接
$handle = printer_open('ZDesigner GK888t (EPL)');
printer_set_option($handle, PRINTER_MODE, "RAW");
// printer_set_option($handle, PRINTER_ORIENTATION, PRINTER_ORIENTATION_LANDSCAPE);
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM);
printer_set_option($handle,PRINTER_PAPER_WIDTH,40);//设置宽度
printer_set_option($handle,PRINTER_PAPER_LENGTH,30);//设置高度
$lfont = printer_create_font("Arial", 30,30, PRINTER_FW_BOLD, false, false, false, 0);
printer_select_font($handle, $lfont);
//打印机的条码打印指令,这个码哪里可以来的?从ZebraDesigner 2软件中可以获取到,或者你看文档也是有标明的。
$commands = "
I8,A,001


Q240,016
q831
rN
S3
D7
ZT
JF
OD
R255,0
f100
N
B311,202,2,1,3,9,108,B,\"123456789\"
P1
";
//打印指令要靠左边,不能有空格,并且是复制打印机生成的,只修改参数(上面123456789)部分。
printer_write($handle, $commands);
printer_delete_font($lfont);
printer_close($handle);

注意:如果指令不正确可能打不出来,或打印机没反应

2、调试代码

运行如果不行,可以试试文档里的其他函数,目的是走通代码到打印机,可以控制打印。我在这里遇到了一个问题,打印的时候总是打印2份,或者卡住。

三、调试打印机

也可以在写代码之前提前调试好

1. 打开控制面板->找到设备和打印机->找到打印机->右键打印机首选项

按照你的标签纸设置宽度高度等等 点击高级设置,选择打印机的类型,热感(加热打印)或热转(喷墨),翻开打印机,上面的滚筒里没有东西就是热感。

2. ZebraDesigner 2设置,设置并导出打印条码指令

1.新建文档 2.添加固定条码 把条码拉到画布中间并设置布局,最终结果如下: 3.导出打印条码指令 1.点击打印->勾选print to file->文件保存为txt 2.打开保存的txt,里面的内容就是打印条码指令,复制指令到代码里就行啦

祝你开发顺利

本文参考:https://www.cnblogs.com/skyfynn/p/5895703.html

林明潭blog
请先登录后发表评论
  • latest comments
  • 总共0条评论