php扩展安装

mbstring

apt install php7.3-mbstring

imagick

apt install php7.3-imagick

<?php
//esc/pos打印机指令
const ESC="\x1b";//设置
const GS="\x1d";//页面设置    字体大小17倍数
const HT="\x09";//跳格设置    9,17,25,33,41
const CUT="\x1d";//切纸
const LF="\x0a";//打印缓冲区并换行
//网口小票打印机IP,连接端口
const PRINTER_IP="192.168.1.150";
const PRINTER_PORT="9100";
//图片打印数据生成
function toRasterFormat($im){$im->setFormat('pbm');$blob=$im->getImageBlob();$i=strpos($blob,"\n",3);return substr($blob,$i+1);
}
//图片打印数据头生成
function intLowHigh($input, $length){$outp="";for($i=0;$i<$length;$i++){$outp.=chr($input%256);$input=(int)($input/256);}return $outp;
}
//二唯码图片打印数据
$im=new Imagick();
$im->setResourceLimit(6,1);
$im->readimage("/var/www/bluesky/wg/img/code.jpg");//图片路径
$widthBytes=(int)(($im->getimagewidth()+7)/8);
$heightPixels=$im->getimageheight();
$print_code=GS."v0".chr(0).intLowHigh($widthBytes,2).intLowHigh($heightPixels,2).toRasterFormat($im);$fp=@fsockopen(PRINTER_IP,PRINTER_PORT,$errno,$errstr,60);
if($fp===false){//连接打印机出错die($errstr);
}else{fwrite($fp,ESC."@");//初始化fwrite($fp,GS."!".chr(17));fwrite($fp,iconv("UTF-8","GBK//IGNORE","单号:A001"));fwrite($fp,LF);fwrite($fp,iconv("UTF-8","GBK//IGNORE","日期:2021-06-18"));fwrite($fp,LF);fwrite($fp,iconv("UTF-8","GBK//IGNORE","手机:13682890593"));fwrite($fp,LF);fwrite($fp,iconv("UTF-8","GBK//IGNORE","地址:ABC"));fwrite($fp,LF);fwrite($fp,GS."!".chr(0));    fwrite($fp,"------------------------------------------------");fwrite($fp,iconv("UTF-8","GBK//IGNORE","名称/规格"));fwrite($fp,HT);fwrite($fp,HT);fwrite($fp,HT);fwrite($fp,iconv("UTF-8","GBK//IGNORE","单价"));fwrite($fp,HT);fwrite($fp,iconv("UTF-8","GBK//IGNORE","数量"));fwrite($fp,HT);$mc="你的产品名称与规格";$i=0;$sl=mb_strlen($mc);while($sl>$i+16){fwrite($fp,iconv("UTF-8","GBK//IGNORE",mb_substr($mc,$i,16)));fwrite($fp,LF);$i+=16;}fwrite($fp,iconv("UTF-8","GBK//IGNORE",mb_substr($mc,$i,16)));$sl=ceil(mb_strwidth(mb_substr($mc,$i,16))/2);$i=floor((16-$sl)/4)+1;    while($i>0){fwrite($fp,HT);$i--;}fwrite($fp,iconv("UTF-8","GBK//IGNORE"," 69.52"));//你的产品单价fwrite($fp,HT);fwrite($fp,iconv("UTF-8","GBK//IGNORE"," 5"));//数量fwrite($fp,LF);fwrite($fp,"------------------------------------------------");fwrite($fp,GS."!".chr(17));fwrite($fp,iconv("UTF-8","GBK//IGNORE","合计:¥200.01"));fwrite($fp,LF);fwrite($fp,"------------------------");fwrite($fp,ESC."a".chr(1));//居中                        fwrite($fp,$print_code);//打印二唯码图片fwrite($fp,LF);fwrite($fp,iconv("UTF-8","GBK//IGNORE","欢迎下次惠顾"));fwrite($fp,ESC."d".chr(5));//走行fwrite($fp,CUT."V".chr(0).chr(2));//切纸                        //关闭打印机连接fclose($fp);
}
?>

芯烨网口小票打印机,使用PHP打印小票相关推荐

  1. 芯烨网口打印机用安卓手机端修改IP

    安卓跨网段修改IP步骤 注:此工具只适用于支持跨网段修改IP芯烨网口打印机使用 第一步:打印机用网线连接到路由器上 第二步:安卓手机或者安卓收银机连接打印机所连接的路由器WiFi或有线 第三步:打印机 ...

  2. 基于springboot对接芯烨云无线打印机(非云打印机)

    前言:最近公司产品经理提了一个无线打印的功能,看了一下打印机官网文档,花费几天时间,对接成功,在此先记录一下. 1 下载芯烨云开发包以测试工具(芯烨云官网) 2 配置芯烨云打印网口 选择自己购买的打印 ...

  3. java 打印 小票_java 调收银机打印小票

    public class MyPrint implementsPrintable{static Logger log = Logger.getLogger(MyPrint.class);//业务类 U ...

  4. 常见小票打印机打印故障及解决方法汇总视频教程

    通过对"常见小票打印机故障及解决方法汇总视频教程"课程学习,达到以下目的:1.可以独立自主安装打印机驱动以及安装打印机硬件设备 2.可以独立自主排除常见打印机故障 学习教程 常见小 ...

  5. 京瓷1110打印自检页_如何修改小票打印机、厨房打印机IP地址

    如何修改小票打印机.厨房打印机IP地址 在商业收银活动中,小票打印机是必不可少的设备,不管超市收银系统还是餐饮收银系统,都是常用设备.易坏设备,刚开业时购买的成套的收银设备,商家一般都给设置好小票机, ...

  6. vue热敏打印机_electron + vue项目实现打印小票功能及实现代码

    一 需求: 公司项目需要通过electron调用系统打印机,实现打印小票的功能. 二.分析: electron打印大概有两种: 第一种:通过window的webcontent对象,使用此种方式需要单独 ...

  7. vue热敏打印机_electron + vue项目实现打印小票功能

    前言:该文章需要一定的electron基础同学.如需了解更多相关信息,请移步electron官方文档. 一.需求: 公司项目需要通过electron调用系统打印机,实现打印小票的功能. 二.分析: e ...

  8. 非官方云小票机SDK,支持飞鹅云,芯烨云,易联云,快递100,映美云,中午云,佳博云,优声云,365智能云打印等

    云小票机SDK-cloud-print 非官方云小票机SDK,支持飞鹅云,芯烨云,易联云,快递100,映美云,中午云,佳博云,优声云,365智能云打印等 请求日志开启 \openphp\cloudPr ...

  9. android连接小票打印机,打印小票数据的两种模式

    为了开发android无线点餐系统,需要用到打印小票任务,根据网上查找资料所得,学习了两种方法,一种为通过tomcat服务连接服务器所连接的打印机打印,一种为直接连接网络打印机打印 一.通过tomca ...

  10. php自动打印小票_错题打印机哪个品牌质量好?【2020双12】错题打印机品牌排行...

    2020年11月22日更新: 帮帮机销量3天增加1万: 帮帮机D1目前京东促销99元,击穿行业底价! 本文目录: 什么是错题打印机? 错题打印机能用普通纸吗,耗材贵吗? 高性价比错题打印机参数对比 1 ...

最新文章

  1. 【pytorch】torch.mean的使用
  2. TinyXml高速入门(一)
  3. AI开发者大会之语音语义技术实践与应用:2020年7月3日《NLP在教育行业的应用》、《AI防疫-语音语义技术在政务联络场景中的应用》、《智能客服机器人在售前导购场景中的应用实践》
  4. 面试宝典_Python.常规算法.0002.输出任意两个字符串中最长公共子串?
  5. Django 3.2.5博客开发教程:URL与视图函数
  6. #6073. 「2017 山东一轮集训 Day5」距离(树链剖分 + 永久标记主席树)
  7. python二级考试可以用pycharm吗_学Python,Pycharm不能不知道怎么用
  8. 输入5个整形数据_妙招技法:Excel表格数据录入的5个小技巧
  9. flash as3 socket安全服务网关(socket policy file server)
  10. DNT 3.1 快速安装手记
  11. 结构体C语言王者归来
  12. 疫情趋势下,远程控制软件成为刚需,ToDesk or 向日葵,哪一款最好用?
  13. 计算机ip本地连接,电脑ip地址设置:本地连接ip设置方法
  14. JUC并发编程基石AQS源码之结构篇-ReentrantLock
  15. kali安装邮件客户端
  16. unity3d发布安卓出错plese set the package name
  17. MySQL 五.索引与算法
  18. 大学生创新创业项目管理系统
  19. bat批量修改文件名
  20. 电话号码组成分析 东海陈光剑

热门文章

  1. 关于硬盘数据恢复的一些思考
  2. afuwin64教程_华硕主板BIOS降级强刷教程
  3. 百度网盘怎么设置提取码 百度网盘自定义提取码方法
  4. 如何学习操作系统这门课程?
  5. 自考总结--数据结构导论
  6. (原创)用红黄蓝RYB色相环(伊登色相环)代替RGB(RGI/RGV)色相环
  7. html输入框素材,html input 标签
  8. delphi 可以自定义边框的文本框TSkinNormalEdit思路(QQ2011风格)
  9. deepin驱动精灵_Deepin 15.4.1 X64官方正式版(64位)
  10. CAD打印adobe acrobat pro/DC 安装的PDF打印机闪退问题