vue怎么实现打印小票


这篇文章主要讲解了“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代码求时间差问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用js代码求时间差”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!var date1…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/21 12:43
下一篇 02/21 12:43

相关推荐