vue3使用clodop 云打印

  • 第一步,准备打印目录print放在src目录下,在云打印官网下载安装包放入该文件夹中
  • 第二步,加载clodop,在LodopFuncs.js写入一下代码
import { ElMessageBox } from 'element-plus'
// ====页面动态加载C-Lodop云打印必须的文件CLodopfuncs.js====
var head = document.head || document.getElementsByTagName('head')[0] || document.documentElement
var oscript = document.createElement('script')
oscript = document.createElement('script')
//因为前端代码需要打包到服务器,所以我们的地址需要动态获取当前浏览的地址
oscript.src = location.origin+'/print/CLodopfuncs.js?priority=1'
head.insertBefore(oscript, head.firstChild)
// 下载loadLodop
function loadLodop() {window.open('/print/CLodop_Setup_for_Win32NT.exe')
}
// ====获取LODOP对象的主过程:====
function getLodop() {let LODOPtry {LODOP = window.CLODOP2015_7028console.log(LODOP);console.log(document.readyState);if (!LODOP) {throw new Error("您还未安装打印控件")}if (!LODOP && document.readyState !== 'complete') {ElMessageBox.alert('C-Lodop打印控件还没准备好,请稍后再试!')return}return LODOP} catch (err) {ElMessageBox({title: '温馨提示',type: 'warning',showCancelButton: true,message: '您还未安装打印控件,点击确定下载打印控件,安装成功后刷新页面即可进行打印',callback: res => {if (res === 'confirm') {loadLodop()}}})}
}
export default getLodop
  • 第三步,在本地测试是能进行打印,但是部署到服务器就不行了,它会报错说缺少CLodopfuncs.js的代码,所以我们在本地测试是就要将对应CLodopfuncs.js的代码复制到前端本地项目中,然后修改其访问地址:

复制代码到print目录下的CLodopfuncs.js中。

修改其中访问地址配置:

           strWebPageID:"7BCAAAE",strTaskID:"",strHostURI:location.protocol+'//'+location.hostname+":8000/print",VERSION:"6.5.0.2",IVERSION:"6502",CVERSION:"4.1.0.4",HTTPS_STATUS:2,VERSION_EXT:true,iBaseTask:0,timeThreshold:5,Priority:1,blIslocal:true,Iframes:[],ItemDatas:{},PageData:{},defStyleJson:{},PageDataEx:{},ItemCNameStyles:{},blWorking:false,blNormalItemAdded:false,blTmpSelectedIndex:null,Caption:null,Color:null,CompanyName:null,strBroadcastMS:null,Border:null,Inbrowse:null,webskt:null,SocketEnable:false,SocketOpened:false,NoClearAfterPrint:false,On_Return_Remain:false,On_Broadcast_Remain:false,//这只是文件开始一部分片段,需要修改其访问的地址为当前浏览器访问的地址,否则就会出现跨域的情况。
  • 第四步,webpack打包配置,因为上面的LodopFuncs.js中下载文件访问的地址是根目录,所以我们需要将print目录打包放在dist的根目录下:
module.exports = {configureWebpack: {plugins: [new CopyWebpackPlugin([{from: path.join(__dirname, 'src/print'),to: path.join(__dirname, 'dist/print'),}]),],},
}
  • 最后封装公共方法调用云打印,大功告成。
import getLodop from '@/print/LodopFuncs.js'
//打印
/*** params *      data  需要打印的文本字符串。*/
export function print(data) {const LODOP = getLodop();if (LODOP) {LODOP.PRINT_INIT(""); //初始化LODOP.SET_PRINT_PAGESIZE('210mm', '297mm', 'A4打印'); //设置LODOP.ADD_PRINT_HTM(8, "2%", "95%", "95%", data);LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1);LODOP.PREVIEW();}
}

vue3使用clodop 云打印相关推荐

  1. C-Lodop云打印服务系统存在任意文件读取漏洞

    目录 漏洞概述 影响版本 漏洞复现 漏洞修复 漏洞概述 C-Lodop云打印服务器是一款非常好用且受欢迎的专业云打印软件,很实用,易操作简单,安装之后可以接收本地或者其他客户端浏览器的远程打印任务了, ...

  2. 支持lodop的服务器,C-Lodop云打印

    C-Lodop云打印服务器是一款功能强大的云打印软件.在C-Lodop云打印服务器最新版中,可以支持lodop全部语法,而且该软件有着极强的兼容性,可以同时支持各种普通打印机.本地并口.窗口.网络共享 ...

  3. Lodop云打印控件使用

    1,虚拟打印机  迅捷PDF虚拟打印机 学习云打印时可以使用虚拟打印机,省去一些麻烦 下载地址:https://www.jiakaodashi.com/dayinji/downloadsuccess- ...

  4. 通过API接口实现提交订单云打印小票、格式化日期

    一.硬件介绍 一台能够实现wifi自动接单的云打印机 可以参考飞蛾云打印机(https://www.feieyun.com/) 二.云打印机的使用方法 还是以上文提到的飞蛾云打印机为例,进行介绍: 给 ...

  5. C-Lodop云打印服务器 v3.075

    点击下载来源:C-Lodop云打印服务器 v3.075 C-Lodop云打印服务器是一款非常好用且受欢迎的专业云打印软件,很实用,易操作简单,安装之后可以接收本地或者其他客户端浏览器的远程打印任务了, ...

  6. 前端JS 云打印 LODOP实践

    文章目录 前言 一.Lodop是什么? 二.如何使用Lodop 1.下载打印插件 2.配置打印机 3.html中植入打印控件 4.调用Lodop对应的JS相关方法接口实现打印功能 三.Lodop主要方 ...

  7. java lodop打印_Java的云打印Lodop

    Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实 ...

  8. 微软云打印将直接与 OneDrive 集成;全球 90 多家组织敦促苹果放弃引入”儿童安全”功能计划……...

    NEWS 本周新闻回顾 百度发布无人车出行服务平台"萝卜快跑" 百度发布无人车出行服务平台"萝卜快跑".截至2021年上半年,百度Apollo自动驾驶出行服务已 ...

  9. 生活在别处——“Samsung Cloud Print”云打印体验

    据工信部发布的数据信息显示,截至8月底,我国移动互联网用户总数已达9.46亿户规模,其中手机上网总数超过9亿户.移动互联网用户规模的不断扩大,进一步证明拥抱移动互联网已成为不可扭转的趋势,也是各互联网 ...

  10. 如何做到免驱打印_证卡打印机云打印方案

    展会现场的参展观展人员的胸卡如何用云打印机实现智能化? 在家办公 远程云打印如何实现? 斯科德智能云证卡打印机|API接口全自动制证机|可排版云打印机-北京斯科德科技有限公司​www.fezid.co ...

最新文章

  1. linux 简单dns搭建,搭建一个简易的DNS服务
  2. 网络通信模型(IO模型)
  3. 问题 1436: 地宫取宝 (dp)
  4. Beamer 目录分栏
  5. 架构漫谈(八):从架构的角度看如何写好代码
  6. android 输入模糊匹配_Android 模糊搜索rawquery bind or column index out of range:
  7. 实例浅析javascript变量作用域
  8. 定时线程的使用 java_Java线程Timer定时器用法详细总结
  9. 中国双鼓磁选机行业市场供需与战略研究报告
  10. [转载] Flask+Celery+Redis简单操作
  11. android 7和苹果手机,苹果对比安卓,7个iPhone比安卓手机更好的理由
  12. iOS如何通过安装描述文件获取设备UDID
  13. 高速公路收费站通行能力分析与设计
  14. 数据分析tableau 和 python的区别_数据分析师综述篇
  15. bzoj2563阿狸和桃子的游戏
  16. C++using用法
  17. SEO优化怎么提升网站排名
  18. maven配置项目根路径_Maven 基本概念——根目录、项目创建、坐标
  19. Spark项目实战—电商用户行为分析
  20. 论文笔记:Neural Collaborative Filtering(NCF)

热门文章

  1. 为了背单词,我花了两天写了一款背单词小程序
  2. 嵌入式Linux开发的编程语言选择
  3. 影视剪辑,PR剪辑软件两个转场教程
  4. 沟通CTBS金融行业远程接入解决方案
  5. 使用Postman工具进行简单的Get/Post测试
  6. Smobiler中Poplist控件的用法
  7. Linux下怎么刷显卡bios,nvidia显卡如何刷bios?nvidia显卡刷bios教程
  8. 如何用ICode来学习Python
  9. 软考高项(信息系统项目管理师)论文范文分享
  10. AT24C04、AT24C08、AT24C16系列EEPROM芯片单片机读写驱动程序