这篇文章主要讲解了“vue怎么实现打印小票”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现打印小票”吧!vue实现打印小票lodop 打印控件安装 lodop 打印控件把 LodopFuncs.js
引入项目
//==本JS是加载Lodop插件或Web打印服务CLodop/Lodop7的综合示例,可直接使用,建议理解后融入自己程序== //用双端口加载主JS文件Lodop.js(或CLodopfuncs.js兼容老版本)以防其中某端口被占: varMainJS="CLodopfuncs.js", URL_WS1="ws://localhost:8000/"+MainJS,//ws用8000/18000 URL_WS2="ws://localhost:18000/"+MainJS, URL_HTTP1="http://localhost:8000/"+MainJS,//http用8000/18000 URL_HTTP2="http://localhost:18000/"+MainJS, URL_HTTP3="https://localhost.lodop.net:8443/"+MainJS;//https用8000/8443 varCreatedOKLodopObject,CLodopIsLocal,LoadJsState; //==判断是否需要CLodop(那些不支持插件的浏览器):== exportfunctionneedCLodop(){ try{ varua=navigator.userAgent; if(ua.match(/WindowssPhone/i)|| ua.match(/iPhone|iPod|iPad/i)|| ua.match(/Android/i)|| ua.match(/EdgeD?d+/i)) returntrue; varverTrident=ua.match(/TridentD?d+/i); varverIE=ua.match(/MSIED?d+/i); varverOPR=ua.match(/OPRD?d+/i); varverFF=ua.match(/FirefoxD?d+/i); varx64=ua.match(/x64/i); if((!verTrident)&&(!verIE)&&(x64))returntrue; elseif(verFF){ verFF=verFF[0].match(/d+/); if((verFF[0]>=41)||(x64))returntrue; }elseif(verOPR){ verOPR=verOPR[0].match(/d+/); if(verOPR[0]>=32)returntrue; }elseif((!verTrident)&&(!verIE)){ varverChrome=ua.match(/ChromeD?d+/i); if(verChrome){ verChrome=verChrome[0].match(/d+/); if(verChrome[0]>=41)returntrue; } } returnfalse; }catch(err){ returntrue; } } //==检查加载成功与否,如没成功则用http(s)再试== //==低版本CLODOP6.561/Lodop7.043及前)用本方法== exportfunctioncheckOrTryHttp(){ if(window.getCLodop){ LoadJsState="complete"; returntrue; } if(LoadJsState=="loadingB"||LoadJsState=="complete")return; LoadJsState="loadingB"; varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement; varJS1=document.createElement("script") ,JS2=document.createElement("script") ,JS3=document.createElement("script"); JS1.src=URL_HTTP1; JS2.src=URL_HTTP2; JS3.src=URL_HTTP3; JS1.onload=JS2.onload=JS3.onload=JS2.onerror=JS3.onerror=function(){LoadJsState="complete";} JS1.onerror=function(e){ if(window.location.protocol!=='https:') head.insertBefore(JS2,head.firstChild);else head.insertBefore(JS3,head.firstChild); } head.insertBefore(JS1,head.firstChild); } //==加载Lodop对象的主过程:== (functionloadCLodop(){ if(!needCLodop())return; CLodopIsLocal=!!((URL_WS1+URL_WS2).match(///localho|//127.0.0./i)); LoadJsState="loadingA"; if(!window.WebSocket&&window.MozWebSocket)window.WebSocket=window.MozWebSocket; //ws方式速度快(小于200ms)且可避免CORS错误,但要求Lodop版本足够新: try{ varWSK1=newWebSocket(URL_WS1); WSK1.onopen=function(e){setTimeout("checkOrTryHttp();",200);} WSK1.onmessage=function(e){if(!window.getCLodop)eval(e.data);} WSK1.onerror=function(e){ varWSK2=newWebSocket(URL_WS2); WSK2.onopen=function(e){setTimeout("checkOrTryHttp();",200);} WSK2.onmessage=function(e){if(!window.getCLodop)eval(e.data);} WSK2.onerror=function(e){checkOrTryHttp();} } }catch(e){ checkOrTryHttp(); } })(); //==获取LODOP对象主过程,判断是否安装、需否升级:== exportfunctiongetLodop(oOBJECT,oEMBED){ varstrFontTag="
打印控件"; varstrLodopInstall=strFontTag+"未安装!点击这里执行安装"; varstrLodopUpdate=strFontTag+"需要升级!点击这里执行升级"; varstrLodop64Install=strFontTag+"未安装!点击这里执行安装"; varstrLodop64Update=strFontTag+"需要升级!点击这里执行升级"; varstrCLodopInstallA="
Web打印服务CLodop未安装启动,点击这里下载执行安装"; varstrCLodopInstallB="
(若此前已安装过,可点这里直接再次启动)"; varstrCLodopUpdate="
Web打印服务CLodop需升级!点击这里执行升级"; varstrLodop7FontTag="
Web打印服务Lodop7"; varstrLodop7HrefX86="点击这里下载安装(下载后解压,点击lodop文件开始执行)"; varstrLodop7HrefARM="点击这里下载安装(下载后解压,点击lodop文件开始执行)"; varstrLodop7Install_X86=strLodop7FontTag+"未安装启动,"+strLodop7HrefX86; varstrLodop7Install_ARM=strLodop7FontTag+"未安装启动,"+strLodop7HrefARM; varstrLodop7Update_X86=strLodop7FontTag+"需升级,"+strLodop7HrefX86; varstrLodop7Update_ARM=strLodop7FontTag+"需升级,"+strLodop7HrefARM; varstrInstallOK=",成功后请刷新本页面或重启浏览器。"; varLODOP; try{ varisWinIE=(/MSIE/i.test(navigator.userAgent))||(/Trident/i.test(navigator.userAgent)); varisWinIE64=isWinIE&&(/x64/i.test(navigator.userAgent)); varisLinuxX86=(/Linux/i.test(navigator.platform))&&(/x86/i.test(navigator.platform)); varisLinuxARM=(/Linux/i.test(navigator.platform))&&(/aarch/i.test(navigator.platform)); if(needCLodop()||isLinuxX86||isLinuxARM){ try{ LODOP=window.getCLodop(); }catch(err){} if(!LODOP&&LoadJsState!=="complete"){ if(!LoadJsState) alert("未曾加载Lodop主JS文件,请先调用loadCLodop过程.");else alert("网页还没下载完毕,请稍等一下再操作."); return; } varstrAlertMessage; 免费云主机域名if(!LODOP){ if(isLinuxX86) strAlertMessage=strLodop7Install_X86; elseif(isLinuxARM) strAlertMessage=strLodop7Install_ARM; else strAlertMessage=strCLodopInstallA+(CLodopIsLocal?strCLodopInstallB:""); document.body.innerHTML=strAlertMessage+strInstallOK+document.body.innerHTML; return; }else{ if(isLinuxX86&&LODOP.CVERSION
去掉测试版本
myPreview1(){ //this.CreateImage(); //this.LODOP.PRINT(); letLODOP=getLodop(); console.log('LODOP',LODOP) varstrHTML=document.getElementById("box").innerHTML; LODOP.PRINT_INIT("") LODOP.SET_LICENSES("","EE0887D00FCC7D29375A695F728489A6","C94CEE276DB2187AE6B65D56B3FC2848","");//去掉测试版本 //LODOP.SET_PRINT_PAGESIZE(3,"80mm","10mm","CreateCustomPage");//80打印机不需要加这行 LODOP.SET_PRINT_STYLE("FontSize",15);//设置打印字体 LODOP.SET_PRINT_STYLE("Bold",1);//设置加粗 LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Height:90%"); LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Width"); LODOP.ADD_PRINT_HTM(10,10,"90%","70%",strHTML); LODOP.PRINT();// //this.LODOP.PREVIEW() },
感谢各位的阅读,以上就是“vue怎么实现打印小票”的内容了,经过本文的学习后,相信大家对vue怎么实现打印小票这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
这篇文章主要介绍“如何用js代码求时间差”,在日常操作中,相信很多人在如何用js代码求时间差问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用js代码求时间差”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!var date1…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。