lodop打印插件怎么在vue项目中使用

今天就跟大家聊聊有关lodop打印插件怎么在vue项目中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

成都创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元湘西土家族做网站,已为上家服务,为湘西土家族各地企业和个人服务,联系电话:18980820575

LodopFuncs.js 方法改造如下

//====判断是否需要安装CLodop云打印服务器:====
export function needCLodop(){  ......  }

//====获取LODOP对象的主过程:====
export function getLodop(oOBJECT,oEMBED){  ......  }

完事,然后就是怎么使用了

在具体的调用页面

import {getLodop} from '../common/LodopFuncs'

......
  methods: {
 
   printPdf() {
    this.CreateOneFormPage();
//    LODOP.PRINT();
    LODOP.PREVIEW();
   },
   CreateOneFormPage() {
    LODOP = getLodop();
    LODOP.PRINT_INIT("订货单");
    LODOP.SET_PRINT_STYLE("FontSize", 18);
    LODOP.SET_PRINT_STYLE("Bold", 1);
    LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印页面部分内容");
    LODOP.ADD_PRINT_HTM(88, 200, 350, 600, 
                    document.getElementById("form1").innerHTML);  

   },
  }
......

你以为就这么多。对的就这

现在碰见个指令打印问题,在项目中直接把部分指令都打印出来了,不能打印出正常样式,™
现在都是驱动打印机,暂时不考虑指令的....

常见问题:浏览器alert警告lodop打印出错之类的,首先得把lodop本地服务打开。

鉴于好多人提问,完整的代码还是贴出来吧。(没修改什么东西啊....)

LodopFuncs.js

var CreatedOKLodop7766=null;

//====判断是否需要安装CLodop云打印服务器:====
export function needCLodop(){
 try{
  var ua=navigator.userAgent;
  if (ua.match(/Windows\sPhone/i) !=null) return true;
  if (ua.match(/iPhone|iPod/i) != null) return true;
  if (ua.match(/Android/i) != null) return true;
  if (ua.match(/Edge\D?\d+/i) != null) return true;

  var verTrident=ua.match(/Trident\D?\d+/i);
  var verIE=ua.match(/MSIE\D?\d+/i);
  var verOPR=ua.match(/OPR\D?\d+/i);
  var verFF=ua.match(/Firefox\D?\d+/i);
  var x64=ua.match(/x64/i);
  if ((verTrident==null)&&(verIE==null)&&(x64!==null))
   return true; else
  if ( verFF !== null) {
   verFF = verFF[0].match(/\d+/);
   if ((verFF[0]>= 42)||(x64!==null)) return true;
  } else
  if ( verOPR !== null) {
   verOPR = verOPR[0].match(/\d+/);
   if ( verOPR[0] >= 32 ) return true;
  } else
  if ((verTrident==null)&&(verIE==null)) {
   var verChrome=ua.match(/Chrome\D?\d+/i);
   if ( verChrome !== null ) {
    verChrome = verChrome[0].match(/\d+/);
    if (verChrome[0]>=42) return true;
   };
  };
  return false;
 } catch(err) {return true;};
};

//====页面引用CLodop云打印必须的JS文件:====
if (needCLodop()) {
 var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
 var oscript = document.createElement("script");
 oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1";
 head.insertBefore( oscript,head.firstChild );

 //引用双端口(8000和18000)避免其中某个被占用:
 oscript = document.createElement("script");
 oscript.src ="http://localhost:18000/CLodopfuncs.js?priority=0";
 head.insertBefore( oscript,head.firstChild );
};

//====获取LODOP对象的主过程:====
export function getLodop(oOBJECT,oEMBED){
 var strHtmInstall="
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";  var strHtmUpdate="
打印控件需要升级!点击这里执行升级,升级后请重新进入。";  var strHtm64_Install="
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";  var strHtm64_Update="
打印控件需要升级!点击这里执行升级,升级后请重新进入。";  var strHtmFireFox="

(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)";  var strHtmChrome="

(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)";  var strCLodopInstall="
CLodop云打印服务(localhost本地)未安装启动!点击这里执行安装,安装后请刷新页面。";  var strCLodopUpdate="
CLodop云打印服务需升级!点击这里执行升级,升级后请刷新页面。";  var LODOP;  try{   var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);   if (needCLodop()) {    try{ LODOP=getCLodop();} catch(err) {};    if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;};    if (!LODOP) {     // if (isIE) document.write(strCLodopInstall); else      // document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;     // return;    } else {     if (CLODOP.CVERSION<"3.0.0.2") {      if (isIE) document.write(strCLodopUpdate); else       document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML;     };     if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED);     if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT);    };   } else {    var is64IE = isIE && (navigator.userAgent.indexOf('x64')>=0);    //=====如果页面有Lodop就直接使用,没有则新建:==========    if (oOBJECT!=undefined || oEMBED!=undefined) {     if (isIE) LODOP=oOBJECT; else LODOP=oEMBED;    } else if (CreatedOKLodop7766==null){     LODOP=document.createElement("object");     LODOP.setAttribute("width",0);     LODOP.setAttribute("height",0);     LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");     if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");     else LODOP.setAttribute("type","application/x-print-lodop");     document.documentElement.appendChild(LODOP);     CreatedOKLodop7766=LODOP;    } else LODOP=CreatedOKLodop7766;    //=====Lodop插件未安装时提示下载地址:==========    if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) {     if (navigator.userAgent.indexOf('Chrome')>=0)      document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;     if (navigator.userAgent.indexOf('Firefox')>=0)      document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;     if (is64IE) document.write(strHtm64_Install); else     if (isIE)  document.write(strHtmInstall);  else      document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;     return LODOP;    };   };   if (LODOP.VERSION<"6.0") {    if (!needCLodop()){     if (is64IE) document.write(strHtm64_Update); else     if (isIE) document.write(strHtmUpdate); else      document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;    };    return LODOP;   };   //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===   //LODOP.SET_LICENSES("北京XXXXX公司","8xxxxxxxxxxxxx5","","");   //===========================================================   return LODOP;  } catch(err) {alert("getLodop出错:"+err);}; };

页面调用如下



看完上述内容,你们对lodop打印插件怎么在vue项目中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


分享名称:lodop打印插件怎么在vue项目中使用
本文来源:http://myzitong.com/article/jsejcd.html