js使用Lodop对接打印机

  1. 安装

官方地址:https://www.lodop.net/

插件下载地址:https://www.lodop.net/download.html

相关文件

  1. 基本使用

2.1控件嵌入

1.通常情况下,在页面中嵌入Lodop如下引用代码,然后用一个全局对象变量来使用控件:
·在head或body中加入:
<script src="LodopFuncs.js"></script>
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> 
    <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 pluginspage="install_lodop32.exe"></embed>
</object> 

2.在调用Lodop功能前,先用如下JS过程获得控件对象:
var LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));

2.2常用方法

2.2.1打印条形码和二维码
//打印条形码
ADD_PRINT_BARCODE(Top,Left,Width,Height,BarCodeType,BarCodeValue);
关键参数含义:
Top 垂直偏移位置
Left 水平偏移位置
Width 条码的总宽度,计量单位px(1px=1/96英寸)
Height 条码的总高度(一维条码时包括文字高度)
BarCodeType 条码的类型(规制)名称
BarCodeValue 条码值
目前控件支持的条码类型有如下26种,包含24种一维码和2种二维码:
//一维码
128A,128B,128C,128Auto,EAN8,EAN13,EAN128A,EAN128B,EAN128C,Code39,39Extended,2_5interleaved,2_5industrial2_5matrix
UPC_A,UPC_E0,UPC_E1,UPCsupp2,UPCsupp5,Code93,93Extended,MSI,PostNet,Codabar
//二维码
QRCode,PDF417

2.2.2设置打印纸张大小
//文档地址:https://www.lodop.net/demolist/PrintSample5.html
SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName);
参数说明:
intOrient:打印方向及纸张类型
    1---纵向打印,固定纸张; 
    2---横向打印,固定纸张;  
    3---纵向打印,宽度固定,高度按打印内容的高度自适应(见样例18);
    0---方向不定,由操作者自行选择或按打印机缺省设置。
intPageWidth:
    纸张宽,单位为0.1mm 譬如该参数值为45,则表示4.5mm,计量精度是0.1mm。
intPageHeight:
    固定纸张时该参数是纸张高;高度自适应时该参数是纸张底边的空白高,计量单位与纸张宽一样。
strPageName:
    纸张类型名, intPageWidth等于零时本参数才有效,具体名称参见操作系统打印服务属性中的格式定义。
    关键字“CreateCustomPage”会在系统内建立一个名称为“LodopCustomPage”自定义纸张类型。

2.2.3超文本打印(输出HTML代码打印)
ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)
参数定义
intTop:垂直位置偏移
intLeft:水平位置偏移
intWidth:宽度
intHeight:高度
strHtml:超文本内容

2.2.3设置默认打印机
LODOP.SET_PRINTER_INDEX("打印机名或序号")

2.2.4整页缩放打印
//官方文档:https://www.lodop.net/demolist/PrintSample42.html
SET_PRINT_MODE("PRINT_PAGE_PERCENT",varModeValue);
其中varModeValue值及其含义如下:
Full-Width    按整宽,即宽度缩放到与纸宽相当,高度不变,缩放后会变形。
Full-Height    按整高,即高度缩放到与纸高相当,宽度不变,缩放后会变形.
Full-Page    按整页,既按整宽又按整高,缩放后会变形。
Auto-Width    按整宽且不变形,即按整宽的同时,高度与之同比。
Auto-Height    按整高且不变形,即按整高的同时,宽度与之同比。
也可以设置缩放的具体百分比值,数据范围是5%-800%,举例如下:
Width:200%    宽度放大一倍,高度不变。
Height:200%    高度放大一倍,宽度不变。
Width:200%;Height:200%    宽度和高度都放大一倍。
55%    宽度和高度都缩小到原来的55%

2.3条形码生成

 var LODOP = getLodop(
    document.getElementById("LODOP1"),
    document.getElementById("LODOP_EM1")
  );
  LODOP.PRINT_INIT("14位合格证模版"); //打印任务名称
  LODOP.SET_PRINT_PAGESIZE(1, "100mm", "150mm", ""); //设置打印的纸张高度
  LODOP.ADD_PRINT_BARCODE(170, 175, 180, 25, "128A", 'SDFFFSEK123'); //打印产品代码条码
  LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Auto-Width"); //设置打印风格,这里是等宽打印
  LODOP.SET_PRINTER_INDEX("Godex G500"); //设置默认打印机(这里用的是打印机名称)
  LODOP.PRINT();//最后一个打印(或预览、维护、设计)语句

2.4二维码生成

var LODOP = getLodop(
    document.getElementById("LODOP1"),
    document.getElementById("LODOP_EM1")
  );
  LODOP.PRINT_INIT("14位合格证模版"); //打印任务名称
  LODOP.SET_PRINT_PAGESIZE(1, "100mm", "150mm", ""); //设置打印的纸张高度
  LODOP.ADD_PRINT_BARCODE(170, 175, 180, 25, "QRCode", 'SDFFFSEK123'); //打印产品代码条码
  LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Auto-Width"); //设置打印风格,这里是等宽打印
  LODOP.SET_PRINTER_INDEX("Godex G500"); //设置默认打印机(这里用的是打印机名称)
  LODOP.PRINT();//最后一个打印(或预览、维护、设计)语句

2.5超文本生成

var LODOP = getLodop(
    document.getElementById("LODOP1"),
    document.getElementById("LODOP_EM1")
);
var tableHtml = `<style>
tr {
text-align: center;
width: 100%;height:81px;
}
p{
margin: 0;
}
</style>
<table border="1" rules="all" style="width:100%;">
<tr style="font-weight: bold;font-size: 24px;">
<td colspan="20" >物料产品标识</td>
</tr>
<tr>
</table>`;
LODOP.PRINT_INIT("14位合格证模版"); //打印任务名称
LODOP.SET_PRINT_PAGESIZE(1, "100mm", "150mm", ""); //设置纸张高度
LODOP.ADD_PRINT_HTM("2mm", "2mm", "98mm", "150mm", tableHtml);
LODOP.PRINT();//最后一个打印(或预览、维护、设计)语句

Lodop打印需要的LodopFuncs.js已测试可使用 Lodop是什么? 有人说她是Web打印控件,因为她能打印、在浏览器中以插件的形式出现,用简单一行语句就把整个网页打印出来; 有人说她是打印编程接口,因为她介于浏览器和打印设备之间,是个通道和桥梁,几乎能想到的打印控制事项都能做到; 有人说她是JavaScript的扩展,因为她所有功能就那么几个语句,和JS语法一样,一看就明白个究竟; 有人说她是报表打印工具,因为那个add_print_table语句把报表统计的那点事弄了个明明白白; 有人说她是条码打印工具,因为用了她再也不用后台生成条码图片了,前端一行指令就动态输出清晰准确的条码,一维二维都行; 有人说她是图表打印工具,因为用她能输出几乎能想象的任何图表,虽然没那么豪华,但什么饼图、折线图、柱图甚至复合图等等都不在话下; 有人说她是个小玩意,因为她体积太小了,才2M多,她所包含的其中任何一个对照工具都是她的好几倍(例如条码打印控件、图表控件等); 有人说她是套打教案,因为以Lodop+JS实现套打这种模式,在网上已被吵吵为教科书般的解决方案; 有人说她是Web打印控件的“终结者”,因为接触“她”后再不想别的“她”; 有人说她就是一个Web编程小工具,因为有了她,在BS下的打印终于像cs下那种随意而高效了; 但我们说,她是全国1000多家软件公司的智慧结晶,诞生7年了,几乎每个功能细节都蕴藏着无数开发者的期待和汗水; 她就是Lodop,没有别的名称,她是web开发的必选伴侣...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值