【工厂开发:使用扫码枪生成二维码并打印】使用 扫码枪用JavaScript 生成二维码,并打印二维码
在厂里做erp,有要求写一个扫码枪扫描二维码生成的demo,并用打印机打印出来。
需求:
1. 使用扫码枪扫描二维码,获取内容
2. 把内容转成二维码显示到页面
3. 打印这个二维码
使用扫码枪扫描二维码会产生二维码内容的格式:
QR026;二维码内容, 例: QR026;1.03.01.S0578M018:M:75:0004, (扫码枪编号+分号+二维码内容+逗号)
使用到的类库有:jQuery,qrcode两个。(jquery.min.js 和 qrcode.js)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"><script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/qrcode.js"></script><title>index从这开始</title>
</head>
<body>
请进行操作:<input type="button" value="扫描" onclick="scan()">
<input type="button" value="获取扫描的内容" onclick="getScanValue()">
<input type="button" value="手动输入条码" onclick="inputScanValue()">
<input type="button" value="打印二维码" onclick="doPrint()">
<span id="scan_msg" style="display:none;">等待扫描......</span>
<input id="text_code" style="width:10px;position: absolute;top:-200px;"><!--startprint-->
<div id="qrcode"></div>
<!--endprint--></body><script type="text/javascript">//new QRCode(document.getElementById("qrcode"), "http://www.runoob.com");// 设置要生成二维码的链接var scanFunction=null;//定义一个空函数//扫描
function scan(){$("#text_code").val("")document.getElementById("text_code").focus();$("#scan_msg").show();$("#scan_msg").text("等待扫描......");//用Interval函数不断扫描扫码枪的输入值scanFunction=setInterval(function(){var elText =$("#text_code").val();//不为空并且最后一个字符为逗号才进行生成二维码if(elText!="" && elText.slice(elText.length-1,elText.length)==","){$("#scan_msg").text("扫描完成!");makeCode();}else{}},3000);
}//手动输入扫描条码值
function inputScanValue(){var inputScanValue = prompt("请输入条码值:","1.03.01.S0578M018:M:75:0004");//如果返回的有内容if(inputScanValue){$("#scan_msg").show();//扫码枪模拟分号和逗号$("#text_code").val(";"+inputScanValue+",");$("#scan_msg").text("完成!");makeCode();} else {}
}//过滤文字
function fiterText(oldText){//扫描出的文字例子:QR026;1.03.01.S0578M018:M:75:0004,//过滤扫码枪编号和最后一个逗号var return_text=oldText.slice(oldText.indexOf(";")+1,oldText.length-1);return return_text;
}//获取扫描的文字
function getScanValue(){//获取title属性的值var scanedText =$("#qrcode").attr("title");alert(scanedText);
}var qrcode = new QRCode("qrcode");
//生成二维码
function makeCode () { var elText =$("#text_code").val();if (elText==null | elText=="") {$("#text_code").focus();return;}qrcode.clear(); //清除之前的二维码数据var fiterText_value=fiterText(elText);//改变title值$("#qrcode").css("title",fiterText_value);qrcode.makeCode(fiterText_value);clearInterval(scanFunction);//清除Interval函数
}//打印
function doPrint() {var bdhtml=window.document.body.innerHTML;sprnstr="<!--startprint-->"; //开始打印标识字符串有17个字符eprnstr="<!--endprint-->"; //结束打印标识字符串prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始打印标识之后的内容prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容window.document.body.innerHTML=prnhtml; //把需要打印的指定内容赋给body.innerHTMLwindow.print(); //调用浏览器的打印功能打印指定区域window.document.body.innerHTML=bdhtml; // 最后还原页面
}</script></html>
使用到的技术很简单,就几行代码,但是做完了这demo就得摸鱼了,不如加代码优化体验,就有了如上的代码。
页面效果图:
点击【手动输入条码】:
点击【打印二维码】:
原本关键代码如下:
把文字内容转为二维码图片:(先导入QRCode.js包)
原文链接:https://www.runoob.com/w3cnote/javascript-qrcodejs-library.html
<div id="qrcode"></div>
<script type="text/javascript">
new QRCode(document.getElementById("qrcode"), "二维码内容"); // 设置要生成二维码的链接
</script>
打印内容到打印机:(原生JS)
原文链接:https://blog.csdn.net/weixin_43292447/article/details/83993416
<!--startprint-->
<div id="qrcode">
我就是要打印的内容
</div>
<!--endprint--><!--上面是div,下面是js--><script type="text/javascript">
//打印
function doPrint() {var bdhtml=window.document.body.innerHTML;sprnstr="<!--startprint-->"; //开始打印标识字符串有17个字符eprnstr="<!--endprint-->"; //结束打印标识字符串prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始打印标识之后的内容prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容window.document.body.innerHTML=prnhtml; //把需要打印的指定内容赋给body.innerHTMLwindow.print(); //调用浏览器的打印功能打印指定区域window.document.body.innerHTML=bdhtml; // 最后还原页面
}
</script>
【工厂开发:使用扫码枪生成二维码并打印】使用 扫码枪用JavaScript 生成二维码,并打印二维码相关推荐
- PHP开发日志 ━━ php、javascript生成二维码的三种方法
最简单最实例的goolge开源方法 推荐手册:php完全自学手册 1.google开放api 代码如下: $urlToEncode="http://www.helloweba.com&quo ...
- 前端实现带二维码的工厂物料标签,发票生成以及打印(vue框架),以及监听浏览器打印事件的钩子函数
首先用一个变量来存放后台传过来的票据的数据,我们就用allPrintData来存放,然后在模板中,创建一个新的dom节点 <div id='printArea'></div> ...
- 使用JavaScript生成二维码教程-附qrcodejs中文文档
使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimj... DIV <div id="qrcode" ...
- javascript生成二维码
http://www.w3dev.cn/article/20140617/javascript-create-QR-code.aspx jquery.qrcode.js 是居于jquery类库的绘制二 ...
- 用QRCode.js制作二维码的生成器(qrcode.makeCode方法生成二维码)
现在前端二维码的生成器有很多,像草料二维码生成器,联图二维码生成器等这些在线生成器都是生成功能比较强大,生成的二维码比较精美的在线生成器,看着比较高大上,那么他们的实现原理?就是通过QRCode.js ...
- 利用JavaScript生成二维码并且中间有logo
一.描述 描述: jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件,使用它可以很方便的在页面上生成二维条码.此插件是能够独立使用的,体积也比较 ...
- vue 中生成带logo的二维码vue-qr(可换背景) 利用qrcode生成二维码
vue 中生成带logo的二维码 这里运用了一个插件 vue-qr npm install vue-qr --save <template><div><vue-qr :c ...
- 【Exception】微信小程序,配置普通链接二维码规则 文件校验失败问题 校验文件检查失败 扫普通链接二维码打开小程序
[Exception]微信小程序,配置普通链接二维码规则 文件校验失败问题 校验文件检查失败 扫普通链接二维码打开小程序 一.问题描述 1.公司业务有个需求,扫描普通的二维码,跳转到小程序的某个页面, ...
- 想用二维码推广应用,如何保证 Andriod 用户和 iOS 用户扫描同一个二维码后获得相应的 App ?
想用二维码推广应用,如何保证 Andriod 用户和 iOS 用户扫描同一个二维码后获得相应的 App ? 这个问题纠结了好些天,后来想到的办法是:把桥页地址生成二维码,扫描后跳到桥页,在桥页判断平台 ...
- 二维码彩色广告招牌的切割制作问题(C#.net下对彩色二维码圆角样式及改进)...
原文:二维码彩色广告招牌的切割制作问题(C#.net下对彩色二维码圆角样式及改进) 我们知道,目前二维码还很少用于广告招牌的制作.但随着智能手机越来越普及,互联网等网络的应用也越来越广泛,作为连接物理 ...
最新文章
- juniper srx 出口负载均衡_直流微电网负载均流控制的新策略
- java hascode
- 【NLP-ChatBot】我们熟悉的聊天机器人都有哪几类?
- window7环境下安装neo4j server版本踩坑记录
- CF1419E-Decryption【数论,dfs】
- 前端学习(1806):前端调试之列表伪类练习二
- 前端学习(927):淘宝flexiblejs源码分析之pageshow原理
- ResourceManager里面Trackingui需要手动该ip
- [技术博客] 微信小程序的formid获取
- Tengine新增nginx upstream模块的使用
- 如何开发一款高大上的android应用的必备知识
- VirtualBox 6.1.4的共享剪贴板确实有问题,6.1.0正常
- eclipse汉化-设置语言包
- APP推广工具(总结)
- pytest+seleniumUI自动化框架设计
- Delphi7_Lite_Fullv7.3优化精简全功能版
- 计算机画图照片大小,电脑自带的画图工具怎么调整图片的大小?
- 半双工通信是指c语言,Linux下C语言实现半双工的UDP通信
- 新海诚没有参与制作的作品_新海诚作品天气之子作画更上一步 各种好玩的梗值得一观...
- oracle 的lag,oracle分析函数lag