飞鹅打印机远程打印订单

article/2025/9/17 15:37:25

飞鹅打印机远程打印订单

  • 1. 需求
  • 2. 打印机选型
  • 3. 飞鹅打印机添加
  • 4. 飞蛾打印机联网设置
  • 5. 测试打印
  • 6. 打印工具类代码
  • 7. 飞鹅打印机样式

1. 需求

当用户下完订单后,自动调用订单打印服务,然后打印订单信息。
就像饿了么、美团直接下完单之后会有语音播报+订单打印。

2. 打印机选型

经过了解飞鹅打印机可以满足以上需求,
首先登陆注册账号https://admin.feieyun.com/

3. 飞鹅打印机添加

添加打印机之前需要连接电源、装纸。

在这里插入图片描述

在这里插入图片描述
按说明添加即可,主要注意SN、KEY的填写,都在购买的打印机底部。
在这里插入图片描述

4. 飞蛾打印机联网设置

最后面有个小按钮,需要长按一下,出现联网设置。
或者通过打印机打出的小条进行操作。
在这里插入图片描述
我们是用电脑连接WiFi打印机的无线,然后进去设置的。
具体步骤如下:
在这里插入图片描述

5. 测试打印

确保在线
在这里插入图片描述
在这里插入图片描述
打印效果如下:
在这里插入图片描述

6. 打印工具类代码

官方文档:http://www.feieyun.com/open/index.html?name=1

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;/*** 飞鹅无线打印工具类*  官方文档地址:http://www.feieyun.com/open/index.html?name=1* @author Jack* @date 2022-03-11*/
public class FeiePrintUtils {public static final String URL = "http://api.feieyun.cn/Api/Open/";//不需要修改public static final String USER = "";//*必填*:账号名public static final String UKEY = "";//*必填*: 飞鹅云后台注册账号后生成的UKEY 【备注:这不是填打印机的KEY】public static final String SN = "";//*必填*:打印机编号,必须要在管理后台里添加打印机或调用API接口添加之后,才能调用API//**********测试时,打开下面注释掉方法的即可,更多接口文档信息,请访问官网开放平台查看**********public static void main(String[] args) throws Exception {OrderPrintModel model = new OrderPrintModel();model.setOrderNo("20220315151819606");model.setProductNo("Q/JCX0001S");model.setOrderDateTime("2022-03-15 15:15:20");model.setUserName("Jack魏 ");model.setPhone("177****3634");model.setAddress("绿谷信息产业园瓯微大厦7楼");model.setProductName("欧式创意咖啡杯");model.setPrice("999.22");model.setBuyNum(13);model.setCountNum(13);model.setOrderPrice("12989.86");model.setDistributionType("自提");model.setProductNum(1);model.setBuyNum(13);model.setSumPrice("12989.86");model.setPayPrice("8888.99");model.setPayType("余额");model.setRemarks("请发货快一些。");model.setQr("https://jackwei.blog.csdn.net/");orderPrint(model);}//方法1public static String orderPrint(OrderPrintModel model) {String content;content = " <CB>Jack魏云店</CB><BR>\n" +"订单编号:" + model.getOrderNo() + "\n" +"下单时间:" + model.getOrderDateTime() + "\n" +"下单人:" + model.getUserName() + "    手机:" + model.getPhone() + "\n" +"地址:" + model.getAddress() + "\n" +"------------------------------------------------\n" +"<BOLD>单价           数量          小计          配送</BOLD>\n" +model.getProductName() + "  货号:" + model.getProductNo() + "<BR>\n" +model.getPrice() + "           " + model.getBuyNum() + "           " + model.getOrderPrice() +"         " + model.getDistributionType() + "\n" +"------------------------------------------------\n" +"商品数:" + model.getProductNum() + "        件数:" + model.getCountNum() + "\n" +"合计:" + model.getSumPrice() + "\n" +"实付:" + model.getPayPrice() + "\n" +"支付方式:" + model.getPayType() + "\n" +"备注:" + model.getRemarks() + "\n" +"------------------------------------------------\n" +"<BOLD>     Jack魏提醒您:请打开微信扫码核销</BOLD>\n" +"<QR>" + model.getQr() + "</QR>";//通过POST请求,发送打印信息到服务器RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(30000)//读取超时.setConnectTimeout(30000)//连接超时.build();CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build();HttpPost post = new HttpPost(URL);List<NameValuePair> nvps = new ArrayList<NameValuePair>();nvps.add(new BasicNameValuePair("user", USER));String STIME = String.valueOf(System.currentTimeMillis() / 1000);nvps.add(new BasicNameValuePair("stime", STIME));nvps.add(new BasicNameValuePair("sig", signature(USER, UKEY, STIME)));nvps.add(new BasicNameValuePair("apiname", "Open_printMsg"));//固定值,不需要修改nvps.add(new BasicNameValuePair("sn", SN));nvps.add(new BasicNameValuePair("content", content));nvps.add(new BasicNameValuePair("times", "1"));//打印联数CloseableHttpResponse response = null;String result = null;try {post.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));response = httpClient.execute(post);int statecode = response.getStatusLine().getStatusCode();if (statecode == 200) {HttpEntity httpentity = response.getEntity();if (httpentity != null) {//服务器返回的JSON字符串,建议要当做日志记录起来result = EntityUtils.toString(httpentity);}}} catch (Exception e) {e.printStackTrace();} finally {try {if (response != null) {response.close();}} catch (IOException e) {e.printStackTrace();}try {post.abort();} catch (Exception e) {e.printStackTrace();}try {httpClient.close();} catch (IOException e) {e.printStackTrace();}}return result;}/*** 生成签名字符串*/private static String signature(String USER, String UKEY, String STIME) {return DigestUtils.sha1Hex(USER + UKEY + STIME);}}

封装模型类


import lombok.Data;
import java.util.Date;/*** @author Jack* @date 2022-03-11*/
@Data
public class OrderPrintModel {private String title;private String orderNo;private String productNo;private String orderDateTime;private String userName;private String phone;private String address;private String productName;private String price;private Integer buyNum;private String distributionType;private String orderPrice;private Integer productNum;private Integer countNum;private String sumPrice;private String payPrice;private String payType;private String remarks;private String qr;
}

7. 飞鹅打印机样式

 <BR> :换行符<CUT> :切刀指令(主动切纸,仅限切刀打印机使用才有效果) <LOGO> :打印LOGO指令(前提是预先在机器内置LOGO图片)<PLUGIN> :钱箱或者外置音响指令<CB></CB>:居中放大<B></B>:放大一倍<C></C>:居中<L></L>:字体变高一倍<W></W>:字体变宽一倍<QR></QR>:二维码(单个订单,最多只能打印一个二维码)<RIGHT></RIGHT>:右对齐<BOLD></BOLD>:字体加粗说明:来订单时默认播放新来单语音,若使用“申请退单”或“申请取消订单”的语音,请使用以下指令<AUDIO-REFUND>:申请退单语音指令。播报内容为:有用户申请退单了<AUDIO-CANCEL>:申请取消订单语音指令。播报内容为:有用户申请取消订单了说明:条形码标签仅支持以下标签规定的内容打印,如需要打印其它特殊字符条形码,需要点击后面的 飞鹅云条形码函数按钮下载条形码函数进行调用打印<BC128_A>123ABCDEF</BC128_A>:数字字母混合条形码,最多支持14位数字大写字母混合<BC128_C>0123456789</BC128_C>:最多支持22位纯数字

http://chatgpt.dhexx.cn/article/K411cXbJ.shtml

相关文章

计算机打印东西怎么横向打印机,打印机横向打印怎么设置,打印机不能横向打印...

在win10系统中该如何将打印机的默认打印方向变成横向打印呢&#xff1f;当我们经常打印的文档都是字数少&#xff0c;字体大的文档一般都会通过word将其制作成横向界面的纸张&#xff0c;但是每次在打印的时候都需要进行设置将反向设置为横向才可以&#xff0c;非常的麻烦&…

计算机打印机无法打印,电脑打印机无法打印怎么办 打印机无法打印解决教程...

我们可能对引起打印机不打印的故障原因有些了解,有打印机方面的,也有计算机方面的。以下分别进行介绍: 1.检查打印机是否处于联机状态。在大多数打印机上“OnLine”按钮旁边都有一个指示联机状态的灯,正常情况下该联机灯应处于常亮状态。如果该指示灯不亮或处于闪烁状态,则…

php通过js连接打印机直接打印PDF文件

一、前言&#xff1a; 1、最近公司项目需要连接打印机直接批量打印校准证书&#xff08;PDF文件&#xff09; 一、前提&#xff1a; 1、本地下载好LODOP并安装 2、电脑下载并安装打印机驱动 二、php代码 框架是yii2.0 getVerifyFile()这个是在模型层封装的方法 集体…

计算机打印机副机无法打印,局域网打印机无法打印怎么办 局域网打印机无法打印解决方法...

局域网打印机为什么不能打印呢?其实连接打印机的电脑直接打印和局域网内的打印机是不一样的&#xff0c;如果直接打印机电脑可以打印&#xff0c;说明问题出在网络上。如果打印机网络接口有问题&#xff0c;也是不能再局域网内进行打印的。还有一个情况是&#xff0c;在打印机…

手机如何连无线打印服务器,手机可以直接连接打印机打印东西吗?需要怎么做?...

根据我所知道的回答一下这个问题。 手机越来越有取代电脑的趋势&#xff0c;办公用手机、娱乐用手机、玩游戏用手机。不得不承认&#xff0c;手机给大家带来了很大的方便。如何不通过电脑&#xff0c;直接将手机里的东西打印出来呢&#xff0c;很多人有了这样的需求。这里就说一…

计算机打印机无法打印,电脑打印机无法打印怎么办 打印机不能打印解决办法...

电脑打印机无法打印怎么办?前面介绍过因为打印机服务没有启动所打印机无法正常的打印了,下面我们再来看一篇在打印机不能打印问题原因及解决办法。 第一、确认打印机安装是否正常 本地打印机无法使用,首先从先易后难的顺序来判断。要确认机器是否已经正确的安装了打印机。 我…

VUE调用打印机打印页面

一个比较简单的方法 1.安装插件 npm install vue-print-nb --save 2.在main.js文件中引入 import Print from vue-print-nb Vue.use(Print); //注册 3.在div里写上id&#xff0c;这个div里所有的内容就都可以打印了&#xff0c;例如&#xff1a; <div id"printTest…

Java 导出Excel下拉框(多级级联)

1.创建工具类 package com.ztool.excel.select;import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.xssf.usermodel.*;import java…

基于POI和easyexcel实现excel文件读写-多列表加下拉选项框

实现概要&#xff1a;公司使用excel整理微服务基线&#xff0c;原来老的excel模板已经不适用&#xff0c;所以需要将微服务从老的excel转移到新的模板中&#xff0c;由于微服务数量较多而且都是重复的复制粘贴的工作&#xff0c;所以决定使用工具完成。 具体实现&#xff1a;使…

EXCEL如何设置下拉选项打勾 + 不正常选项拉红

Excel怎么制作能打勾叉的下拉菜单_360新知 (so.com) 首先&#xff0c;选中要设置的单元格&#xff0c;然后&#xff0c; 开始→条件格式→突出显示单元格规则→等于

Java - EasyExcel结合VBA实现Excel导出下拉多选框与单选框

需求&#xff1a;导出一个带有单选下拉框与多选下拉框的excel模板 思路&#xff1a;1.使用VBA脚本设置带有多选框的模板2.使用EasyExcel给字段填充单选下拉框数据源一、创建带有多选框宏的excel模板 *.xls&#xff1a;不管有没有宏程序的话都是xls文件 *.xlsx文件&#xff1…

Java Excel POI添加多选下拉框

给自己打个广告&#xff0c;最近弄了个Excel的工具&#xff0c;支持下拉框&#xff0c;级联下拉框&#xff0c;隐藏Sheet&#xff0c;多线程大数据量导出&#xff0c;生产者消费者模式读取&#xff0c;代码大部分都有注释&#xff0c;有兴趣的朋友可以看看&#xff0c;觉得不错…

php excel复选框,excel如何实现下拉框复选

excel如何实现下拉框复选? EXCEL选择下拉框实现复选 第一步:新建一个excel且设置数据有效性【选中X列--数据--有效性】 第二步:开发工具--查看代码--把代码复制进去保存就OK了 代码如下:Private Sub Worksheet_Change(ByVal Target As Range) Developed by Contextures In…

使用VBA实现Excel下拉多选

Excel的下拉多选 新项目需要excel导入时的下拉多选框 Excel表格下拉单选很简单&#xff0c;先给表格做成单选。参照 [excel怎么设置下拉选择项] (https://jingyan.baidu.com/article/1876c85255d929890a13767d.html) Excel要想做成多选首先需要启用宏&#xff0c;如果Excel中…

Excel VB脚本,下拉框多选

1.数据-数据验证&#xff0c;先做出单选效果 在弹出的数据验证窗口选择 序列&#xff0c;然后选择下拉的数据来源 2.开发者工具-VisualBasic 在打开的窗口里面&#xff0c;选择需要下拉的sheet页&#xff0c;然后双击sheet,打开VB的脚本窗口 在窗口输入一下。 3.开发者工具…

office中excel设置下拉框多选

我参照了这篇文章 https://www.php.cn/topic/excel/444717.html 这篇文章整体写得不错&#xff0c;但是有些小瑕疵 问题1&#xff1a;在模块1中保存。 这里并没有说清楚 具体是&#xff1a;VBA编辑器中--插入---模块 然后复制以下代码 Public ReLoad As Boolean 开关listb…

Excel怎么下拉框多选

打开Exlce&#xff0c; 确定&#xff0c;然后 右击查看代码&#xff0c;把这段代码复制到新建的文件里面 此时Excel会给出提示&#xff0c;选择否&#xff0c;&#xff0c;系统会提示保存&#xff0c;在保存的时候选择启用宏的工作簿然后保存&#xff0c;此时Excel下拉框多选就…

关于EXCLE 下拉框多选的设置

关于EXCLE 下拉框多选的设置。 本文转载于&#xff1a;https://www.cnblogs.com/boosasliulin/p/5970120.html 本文转载于&#xff1a;https://blog.csdn.net/qq_33269520/article/details/81173811 打开Exlce&#xff0c;设置数据有效性 确定&#xff0c;然后 右击查看代码…

php下拉多选框,excel下拉框多选打勾的设置方法

excel下拉框多选打勾的设置方法 一、显示“开发工具”选项卡。打开Excel2010,点击左上方“文件”图标。点击“选项”,弹出“Excel选项”对话框,在“自定义功能区”中勾选“开发工具”,点击确定。 二、设置下拉列表的选项内容。将工作表sheet2名称修改为“data”,并在A列输入…

Excel 设置下拉框多选

问题描述 Excel的下拉框无法多选 解决办法 为Excel文件添加VB代码&#xff0c;文件后缀需由.xlsx变为.xlsm&#xff0c;否则仍无法实现该功能 操作步骤 ① 选中当前Sheet ② 右键选择查看代码 ③ 将代码复制进去 ④ 再将文件保存为.xlsm格式的即可 附代码如下 Option Exp…