Lodop常用方法

一、文本打印项,style设置

1.Lodop设置文字居中

LODOP.ADD_PRINT_TEXT(Top,Left,Width,Height,strContent);增加纯文本打印项

LODOP.ADD_PRINT_TEXT(200,0,100,50,"自动居中的标题");
LODOP.SET_PRINT_STYLEA(0,"Horient",2);

SET_PRINT_STYLE

  • 整体设置(针对文本项)
  • 打印初始化后、增加打印项之前调用本函数
  • 对该语句后面的打印项样式设置效果

SET_PRINT_STYLEA

  • 单个打印项(针对文本项)进行字体设置,增加打印项之后调用本函数
  • LODOP.SET_PRINT_STYLEA(3,"FontSize",15);设置第3个内容项字体为15号字体
  • 针对第一个参数设置的打印项样式设置效果
  • 序号设置0表示最新文本对象,序号是1就是第一个对象,依次,,,
2. Lodop设置文本内容行左右对齐

允许标点溢出,且英文单词拆开

SET_PRINT_STYLEA(0,"TextNeatRow",true);

二、打印图片

图片属性设置
LODOP.SET_PRINT_STYLEA(0,“Stretch”,1);//(可变形)扩展缩放模式
LODOP.SET_PRINT_STYLEA(0,“Stretch”,2);//按原图比例(不变形)缩放模式

图片和文字的层级是按照添加顺序来的,越往后新添加的,层级越高,如果在同一个位置,先添加文字,后添加图片
需要设置透明图片LODOP.SET_PRINT_STYLE("TransColor","#FFFFFF");

LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_打印图片4");
LODOP.ADD_PRINT_TEXT(56,56,200,20,"公章底下的文字");
LODOP.SET_PRINT_STYLEA(0,"FontSize",13);
LODOP.ADD_PRINT_IMAGE(28,49,171,153,"<img border='0' src='http://www.c-lodop.com/demolist/PrintSample37.png' />");
LODOP.SET_PRINT_STYLEA(0,"TransColor","#FFFFFF");
LODOP.ADD_PRINT_TEXT(120,53,200,20,"公章上面的文字");
LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
LODOP.PREVIEW();
1.添加打印对象–图片
LODOP.PRINT_INITA("");
LODOP.SET_PRINT_PAGESIZE(1,'297mm','210mm',"");
var url = 'http://s0.imhimg.com/timg%20(2)_20200119142210.jpg'
LODOP.ADD_PRINT_IMAGE(0,0,"60mm","100mm","<img border='0' src='"+url+"'  />");
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);  //图片显示全部
LODOP.SET_PRINT_STYLEA(0,"Horient",2);  //居中显示
2.添加打印背景–图片
LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+url2+"'>");
LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景图	
//或
LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1)
3.选择本地图片打印
<button>打印</button>
<a href="javascript:;" onclick="javascript:document.getElementById('file1').value=getImageFileName()">选文件..</a>
<input type="text" id="file1" size="40" > 
var LODOP; //声明为全局变量
function getImageFileName() {
     LODOP=getLodop(); 
     if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){document.getElementById('file1').value=Value;};
     return  LODOP.GET_DIALOG_VALUE("LocalFileFullName","*.jpg;*.bmp;.jpeg;.png");
 } 
        
('button').on('click',function(){
    LODOP.PRINT_INITA("");
    LODOP.SET_PRINT_PAGESIZE(1,'297mm','210mm',"A4");
    LODOP.ADD_PRINT_SETUP_BKIMG(document.getElementById('file1').value);
    LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景图	
    LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100);//延迟100毫秒
    LODOP.PREVIEW();
})
4.添加超文本对象

只是在实际开发中,有时候这种方式加载不出来图片,必须等img.onload以后才能去打印

LODOP.ADD_PRINT_HTM(0,0,'60%','60%','<img src="http://s0.imhimg.com/timg%20(2)_20200119142210.jpg" alt="">');

三、打印机设置

1.渲染打印机下拉框

GET_PRINTER_COUNT;获得打印机个数
GET_PRINTER_NAME(intPrinterIndex);用序号获得打印机名,一般序号从0开始,-1特指默认打印机;
SET_PRINTER_INDEX(oIndexOrName);按序号或名称指定打印机,选定后禁止手工重选;
SET_PRINTER_INDEXA(IndexorName);按序号或名称指定打印机,选定后允许手工重选;
SELECT_PRINTER;弹出界面选打印机并返回其序号,序号从0开始,返回-1表示放弃
SET_PRINT_COPIES(intCopies);指定每次打印份数,缺省为1
在这里插入图片描述

<select class="form-control invoice_printselect">
  <option>默认打印机</option>
</select>

function load_printer() {
        var printer_count = LODOP.GET_PRINTER_COUNT(); //获取打印机个数
        var printer_name = new Array();
        var str = "";
        var default_printer = defaultPrintval ? defaultPrintval : LODOP.GET_PRINTER_NAME(-1);
        for (var i = 0; i < printer_count; i++) {
            printer_name[i] = LODOP.GET_PRINTER_NAME(i); //获取打印机设备名字
            str += "<option value='" + i + "'";
            if (printer_name[i] == default_printer) {
                str += "selected='selected'";
            }
            str += ">" + printer_name[i] + "</option>";

        }
        return str; //渲染下拉框供选择打印机
    }

//判断是否安装lodop
var LODOP = getLodop();
 if (LODOP) {
     var printer = load_printer();
     $(".invoice_printselect").empty().append(printer);
 }
2.控制打印机双面打印
SET_PRINT_MODE("PRINT_DUPLEX",2);
SET_PRINT_MODE("PRINT_DEFAULTSOURCE",1);

PRINT_DUPLEX的设置参数:

  • 0-不控制
  • 1-不双面
  • 2-双面(长边装订)
  • 3-小册子双面(短边装订_长边水平)
    PRINT_DEFAULTSOURCE的设置参数:
  • 1-纸盒
  • 4-手动
  • 7-自动
  • 0-不控制

如打印机无双面打印功能,也可手工实现,此时需如下语句(Lodop提供了暂停时间翻纸):SET_PRINT_MODE("DOUBLE_SIDED_PRINT",true);

四、添加超文本

可以加外链样式

//外链样式
var strStyleCSS="<link href='css/PrintSample10.css' type='text/css' rel='stylesheet'>";
var strFormHtml=strStyleCSS+"<body>"+document.getElementById("form1").innerHTML+"</body>";
LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_外链样式风格");
LODOP.ADD_PRINT_TEXT(50,50,260,39,"外链样式双线边框:");
LODOP.ADD_PRINT_HTM(88,50,300,200,strFormHtml);
LODOP.PREVIEW();

添加本业完整内容

LODOP.ADD_PRINT_HTM(10,10,"100%","100%","<!DOCTYPE html>"+document.getElementsByTagName("html")[0].innerHTML);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章