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整体设...
一、文本打印项,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);
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)