当前位置: 首页 > news >正文

vue中如何为不同功能设置不同的默认打印设置(设置不同的打印机)

浏览器自带的window.print 功能较简单,这里使用LODOP露肚皮打印
以下是vue2示例:

  1. 从官网中下载Lodop和C-Lodop官网主站安装包并安装到本地电脑
  2. 可以全局搜索电脑找到安装文件LodopFuncs.js,也可以直接复制我贴出来的文件
    
    //用双端口加载主JS文件Lodop.js(或CLodopfuncs.js兼容老版本)以防其中某端口被占:
    var MainJS ="CLodopfuncs.js",URL_WS1   = "ws://localhost:8000/"+MainJS,                //ws用8000/18000URL_WS2   = "ws://localhost:18000/"+MainJS,URL_HTTP1 = "http://localhost:8000/"+MainJS,              //http用8000/18000URL_HTTP2 = "http://localhost:18000/"+MainJS,URL_HTTP3 = "https://localhost.lodop.net:8443/"+MainJS;   //https用8000/8443//==检查加载成功与否,如没成功则用http(s)再试==
    //==低版本CLODOP6.561/Lodop7.043及前)用本方法==
    function checkOrTryHttp() {if (window.getCLodop)  return true;var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;var JS1 = document.createElement("script"),JS2 = document.createElement("script"),JS3 = document.createElement("script");JS1.src = URL_HTTP1;JS2.src = URL_HTTP2;JS3.src = URL_HTTP3;JS1.onerror = function(e) {if (window.location.protocol !== 'https:')head.insertBefore(JS2, head.firstChild); elsehead.insertBefore(JS3, head.firstChild);}JS2.onerror = JS3.onerror=function(){var JSelf = document.createElement("script");JSelf.src = "/"+MainJS; //JSelf让其它电脑通过本机打印(仅适用CLodop自带例子)document.head.insertBefore(JSelf, document.head.firstChild);}head.insertBefore(JS1,head.firstChild);
    }//==加载Lodop对象的主过程:==
    (function loadCLodop(){if (!window.WebSocket && window.MozWebSocket) window.WebSocket=window.MozWebSocket;//ws方式速度快(小于200ms)且可避免CORS错误,但要求Lodop版本足够新:try {var WSK1=new WebSocket(URL_WS1);WSK1.onopen = (e) => { setTimeout(() => { checkOrTryHttp() },200); }WSK1.onmessage = function(e) {if (!window.getCLodop) eval(e.data);}WSK1.onerror = function (e) {var WSK2=new WebSocket(URL_WS2);WSK2.onopen = function (e) { setTimeout(() => { checkOrTryHttp() },200);}WSK2.onmessage = function(e) {if (!window.getCLodop) eval(e.data);}WSK2.onerror= (e)=> {checkOrTryHttp();}}} catch (e) {checkOrTryHttp();}
    })();//==获取LODOP对象的主过程:==
    export function getLodop(oOBJECT, oEMBED) {var LODOP;try {LODOP = window.getCLodop();if (!LODOP && document.readyState !== "complete") {alert("C-Lodop没准备好,请稍后再试!");return;}//清理原例子内的object或embed元素,避免乱提示:if (oEMBED && oEMBED.parentNode)  oEMBED.parentNode.removeChild(oEMBED);if (oOBJECT && oOBJECT.parentNode)oOBJECT.parentNode.removeChild(oOBJECT);return LODOP;} catch (err) {alert("getLodop出错:" + err);}
    }
  3. 参考常见问答 - Lodop打印控件官方网站在vue中使用lodop

  4. 最重要的,打印初始化数据需要为每个事件设置不同的任务id
     

    this.LODOP.PRINT_INIT(`TaskID${this.printType}`);

    官网文档中有描述:

    这样不同的按钮/功能就能每次调用不同的默认打印机了。

http://www.lryc.cn/news/473958.html

相关文章:

  • 经纬恒润INTEWORK-VBA新版本正式发布
  • 金蝶云数据集成至MySQL的高效解决方案
  • Day02 C++ 环境设置
  • AQS是什么
  • Spring IOC容器简介
  • 【backstopjs】入门安装环境
  • LocalDate 类常用方法详解(日期时间类)
  • kmp desktop实现excel预览
  • OB_GINS_day3
  • 【Python3】【力扣题】405. 数字转换为十六进制数
  • 记录一次企业外部通过ssh 连接数据库的事DBeaver
  • 中聚企服:中聚AI女娲大模型,企业难题迎刃而解!
  • 对镜像精简
  • 老电脑不能装纯净版windows
  • 在Python中实现一个简单的社交媒体应用
  • pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误
  • Redis技术入门与实践指南
  • 如何一键完成20个Oracle实例运维脚本部署
  • 【C++刷题】力扣-#598-区间加法 II
  • 优雅的LUA数据记录方法-serpent序列化+LUA Table
  • 初始JavaEE篇——多线程(4):wait、notify,饿汉模式,懒汉模式,指令重排序
  • Apache Solr 身份认证绕过导致任意文件读取漏洞复现(CVE-2024-45216)
  • C#整合Ollama实现本地LLMs调用
  • C++基于opencv的视频质量检测--图像抖动检测
  • Cuda By Example - 11 (Texture Memory 2-D)
  • Go匿名结构体使用场景
  • Vue 发布十年了!你知道我这十年是怎么过的吗?
  • Unity 6 来袭
  • SpringMVC课时1
  • 【小白学机器学习30】样本统计的核心参数:均值/期望,方差,标准差,标准值。