lodop 使用步骤总结
-
- 安装lodop软件后(win/linux都有相应版本),使用 lodop 之前,需要在odoo框架中引入js
-
- 在对应的form视图中,引入自定义好的lodop打印格式的js文件
var LODOP; //声明为全局变量
-
- lodop 的常用格式总结:(含义及注意项在对应行后面的注释中)
// 打印模式设置
LODOP.PRINT_INIT(""); // 打印初始化(写这个防止修改打印格式后跟本地缓存的格式命名相同而不起作用)
LODOP.SET_PRINT_MODE("POS_BASEON_PAPER", true); // 设置以纸张边缘为基点 (有些打印范围总是在纸张外的,设置这个管用调边距不管用)
// 打印的纸张设置
LODOP.SET_PRINT_PAGESIZE(2, 297, 210, '打印模板1-横向'); // 打印纸张方向,1是竖向,2是横向
LODOP.SET_PRINT_PAGESIZE(1, 210, 297, '打印模板2-竖打'); // 打印纸张方向,1是竖向,2是横向
LODOP.SET_PRINT_PAGESIZE(1, 1016, 510, 打印模板L1'); // 自定义纸张大小,方向要对,否则会怎么调试都没有效果,原来设置的为3
// 打印设置
LODOP.NewPage(); // 打印新创建一个纸张
LODOP.PRINT_SETUP(); // 打印设置,可以清除本地打印缓存的模板
LODOP.PRINT_DESIGN(); // 打印设置,调整边距等
LODOP.PREVIEW(); // 打印预览(只有在对应的有该打印机的电脑上预览才是正确的)
LODOP.PRINTA(); // 直接打印
// LODOP.SET_PRINT_STYLE 这个后面不加是全局的,加A的是局部的
LODOP.SET_PRINT_STYLE("FontName", "黑体"); // 设置通用的字体为黑体
LODOP.SET_PRINT_STYLE("FontSize", 24); // 设置统一的字号为24
LODOP.SET_PRINT_STYLEA(0, "FontSize", 22); // 设置最近一行的字号为22
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); // 设置文本水平居中
LODOP.SET_PRINT_STYLEA(0, "Bold", 1); // 设置字体加粗
LODOP.SET_PRINT_STYLEA(0, "TextNeatRow", true); // 设置英文和数字可以自动换行
LODOP.SET_PRINT_STYLEA(0, "LetterSpacing", -1.5); // 设置文本的字距间隔
// 打印的形式:文本,直线,图片,矩形,二维码
LODOP.ADD_PRINT_TEXTA("p_name", top+"cm", left+"cm", width, height, "品名:" + obj.product_name); // 设置最近一行打印的文本格式
LODOP.ADD_PRINT_LINE("2.0cm", "0.4cm", "2.0cm", "14.5cm", 0, 2); // 设置打印横线的格式
LODOP.ADD_PRINT_IMAGE(top1+"cm", img_left1+"cm", img_size+"cm", img_size+"cm", localPath+"/km_order_qrcode_print_lodop_v13/static/src/img/"+String(j+1)+".png"); // 设置打印图片
LODOP.ADD_PRINT_RECT(String(1.2+i*updown_gap) + "cm", String(1.6) + "cm", "16.6cm", "8.0cm", 0, 3); // 设置打印长方形
LODOP.ADD_PRINT_BARCODE("2.8cm", "7.7cm", "2.5cm", "2.5cm", "QRCode", obj.qrcode_url); // 设置打印二维码
LODOP.SET_PRINT_STYLEA(0, "QRCodeVersion", 5); // 设置二维码版本为5
// 获取地址栏的绝对路径(打印图片的时候,如果使用本地图片,需要使用)
function getRootPath() {
var strFullPath = window.document.location.href;
var strPath = window.document.location.pathname;
var pos = strFullPath.indexOf(strPath);
var prePath = strFullPath.substring(0, pos);
var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
return (prePath + postPath);
}
// 获取页面上的数据及转换格式
var json_lodop = document.getElementsByName("lodop_data")[0].innerText;
var obj = eval(json_lodop);
// js 中使用数组存放数据
var tu = new Array();
tu.push(obj.tu1);