odoo-027 odoo13集成web打印控件lodop总结

文章目录

    • lodop 使用步骤总结

lodop 使用步骤总结

    1. 安装lodop软件后(win/linux都有相应版本),使用 lodop 之前,需要在odoo框架中引入js


    
        
    

    1. 在对应的form视图中,引入自定义好的lodop打印格式的js文件

    

    1. 在js文件中,声明全局变量 LODOP
var LODOP; //声明为全局变量
    1. 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
    1. 其他
// 获取地址栏的绝对路径(打印图片的时候,如果使用本地图片,需要使用)
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);

你可能感兴趣的:(Odoo,总结,javascript,python)