Vue中使用Lodop插件实现打印功能的简单方法


Posted in Javascript onDecember 19, 2019

介绍

需要进行打印功能,Lodop就是实现需求的插件.就是引入对应的js-sdk,使用js调用对应的打印方法,然后就会调出客户端软件(需要用户安装),然后就可以在软件里面打印内容了.

使用方法

最小实现

实现打印必须要执行的3个最基本的方法

LODOP.PRINT_INIT("打印任务名");    //首先一个初始化语句 
LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");//然后多个ADD语句及SET语句 
LODOP.PRINT();        //最后一个打印(或预览、维护、设计)语句

所有方法

  • PRINT_INIT(strPrintTaskName)打印初始化
  • SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName)设定纸张大小 (1横向2竖向,宽度,高度,页面大小名称宽高都设置为0的时候才可以设置"A5","A4")
  • ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)增加超文本项
  • ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent)增加纯文本项
  • ADD_PRINT_TABLE(intTop,intLeft,intWidth,intHeight,strHtml)增加表格项(strHtml为html模板字符串)
  • ADD_PRINT_SHAPE(intShapeType,intTop,intLeft,intWidth,intHeight,intLineStyle,intLineWidth,intColor)画图形
  • SET_PRINT_STYLE(strStyleName, varStyleValue)设置对象风格
  • PREVIEW打印预览
  • PRINT直接打印
  • PRINT_SETUP打印维护
  • PRINT_DESIGN打印设计

在Vue中使用Lodop

下载lodop,把js文件放到utils里面,把里面两个方法修改为export function(暴露出去,让其他js文件import来用)

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

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

写好打印方法的逻辑

// doPrint.js
import { getLodop } from '@/utils/LodopFuncs'

/**
 * 打印方法doPrint
 * @param {*} printConfig 任务名,上边距,左边距,宽度,高度,打印html内容,是否横屏,分页
 */
export default function({ name, top, left, width, height, htmlContent, isHorizontal }) {
 const LODOP = getLodop()
 LODOP.PRINT_INIT('订货单') // 打印初始化(打印任务名)
 LODOP.SET_PRINT_PAGESIZE(1, 0, 0, 'A4')
 LODOP.SET_PRINT_STYLE('FontSize', 18) // 样式
 LODOP.SET_PRINT_STYLE('Bold', 1)
 // LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, '打印页面部分内容') // 添加纯文本内容
 // top,left,width,height,htmlContent
 LODOP.ADD_PRINT_HTM(88, 75, 650, 978, htmlContent) // 添加HTML模板内容
 // LODOP.PRINT(); // 直接打印
 LODOP.PREVIEW() // 预览
}

在use.js里面把打印方法挂载到全局方法

// use.js
import doPrint from '@/utils/doPrint'

Vue.prototype.$doPrint = doPrint
在vue页面中使用
 this.$doPrint(data)
 /**
 * 注意: 这里因为用到了这个插件,所以有可能需要让这个插件内部方法在加载完成后才能正常使用
 * 也就是说,它还有以一些准备工作,例如判断方法,连接通讯等等
 * 如果直接用会报错的话,或者崩溃等其他问题,所以就可以在这里延迟再执行打印操作
 * setTimeout(()=> {
 * this.$doPrint(data)
 * })
 * */

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript 页面只自动刷新一次
Jul 10 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
Jun 05 Javascript
js制作简易年历完整实例
Jan 28 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
详解如何使用Vue2做服务端渲染
Mar 29 Javascript
详解angular element()方法使用
Apr 08 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
Jun 04 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
Sep 22 Javascript
Echarts实现单条折线可拖拽效果
Dec 19 #Javascript
Webpack设置环境变量的一些误区详解
Dec 19 #Javascript
Echarts实现多条折线可拖拽效果
Dec 19 #Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 #Javascript
利用JS如何获取form表单数据
Dec 19 #Javascript
在Vue项目中使用Typescript的实现
Dec 19 #Javascript
JS数据类型STRING使用实例解析
Dec 18 #Javascript
You might like
PHP中创建并处理图象
2006/10/09 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
微信小程序实现九宫格抽奖
2020/04/15 Javascript
Python读取mp3中ID3信息的方法
2015/03/05 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
python常用知识梳理(必看篇)
2017/03/23 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
Django中使用Celery的方法示例
2018/11/29 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
python中有帮助函数吗
2020/06/19 Python
如何在python中判断变量的类型
2020/07/29 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
Python字典dict常用方法函数实例
2020/11/09 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
简短大学毕业感言
2014/01/18 职场文书
材料会计岗位职责
2014/03/06 职场文书
中式结婚主持词
2014/03/14 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
python实现简单区块链结构
2021/04/25 Python