vue 小票打印lodop
参考:https://www.cnblogs.com/xintao/p/15562111.html
1.下载
http://www.lodop.net/download.html
2.安装
cnpm install @xkeshi/vue-barcode
3.
找到LodopFuncs.js 添加一行
export default getLodop
放到utils文件夹中
4.mian.js引入
import VueBarcode from '@xkeshi/vue-barcode';
Vue.component('barcode', VueBarcode);
5.使用
import getLodop from "@/utils/lodop/LodopFuncs"; import checkData from "@/utils/lodop/checkData"; // 打印 printCert(data) { // 商品条码 const LODOP = getLodop(); this.CreateDataBill(data); //云打印C-Lodop返回结果用回调函数: if (LODOP.CVERSION) { CLODOP.On_Return = function (TaskID, Value) { if (Value) this.$message.info("已发出实际打印命令!"); else this.$message.info("放弃打印!"); }; LODOP.PRINTA(); return; } //控件返回结果用语句本身: if (LODOP.PRINTA()) this.$message.info("已发出实际打印命令!"); else this.$message.info("放弃打印!"); }, // 预览 preview(data) { const LODOP = getLodop(); this.CreateDataBill(data); LODOP.PREVIEW(); }, CreateDataBill(data) { LODOP = getLodop(); LODOP.PRINT_INIT("检验合格证打印"); //首先一个初始化语句 LODOP.SET_PRINT_STYLE("FontSize", 12); LODOP.ADD_PRINT_IMAGE( 30, 30, 600, 300, "<img border='0' src=\"" + checkData.img + "\" width='100%' height='250'/>" ); LODOP.SET_PRINT_STYLEA(0, "Stretch", 2); // 左 LODOP.ADD_PRINT_TEXT(130, 232, 100, 20, "文本内容一"); LODOP.ADD_PRINT_TEXT(168, 232, 100, 20, "文本内容一"); LODOP.ADD_PRINT_TEXT(206, 232, 100, 20, "文本内容一"); LODOP.ADD_PRINT_TEXT(241, 232, 100, 20, this.form.testTime); // 右 LODOP.ADD_PRINT_TEXT(168, 468, 100, 20, "文本内容一"); LODOP.ADD_PRINT_TEXT(206, 468, 100, 20, "文本内容一"); LODOP.ADD_PRINT_TEXT(241, 468, 100, 20, this.form.userName); },
问题:
如果单行自动换行了,那就是LODOP.ADD_PRINT_TEXT第四个参数给大了,改小一点,
如果尺寸不对,可以将LODOP.ADD_PRINT_TEXT的参数数值型改成字符串型,单位是mm,就大致没问题
如果打印有水印,不要直接打印,用预览,然后在预览窗口打印,可以避开水印(建议买正版授权)
纸张大小和字体大小
LODOP.SET_PRINT_PAGESIZE(1, "90mm", "40mm", ""); //设定纸张大小 LODOP.SET_PRINT_STYLE("FontSize", 7);