web系统中使用js调用activex打印费用报销单

来源:互联网 发布:怎样运营淘宝店铺 编辑:程序博客网 时间:2024/04/30 17:30

此单据以凭证纸大小打印

 

var printer = new ActiveXObject("TPrint.mPrinter");  

 

打印之前需要选择打印机js调用

function selp(){      printer.SelectPrinter();  }  

 

打印单据格式及数据

function doprint(){  //开始单据打印  if(printer.PrintInit(210,//纸张宽度 毫米120,//纸张高度 毫米1//打印方向 1纵向 2横向)){    var M_L = 20, M_T = 10; //左边距,上边距      //表格格式打印printer.FontSize=7; //毫米printer.FontName="宋体";printer.FontBold=true;printer.ForeColor="#0000ff";printer.PrintText("费 用 报 销 单",0+M_L,0+M_T,180+M_L,9+M_T,5);//居中打印printer.PrintLine(53+M_L,10+M_T,127+M_L,10+M_T,0.5,0,"#0000ff");//费用报销单下两条线printer.PrintLine(53 + M_L, 11 + M_T, 127 + M_L, 11 + M_T, 0.5, 0, "#0000ff");printer.FontSize = 4; //毫米printer.FontName = "宋体";printer.FontBold = false;printer.PrintText("部门:", 2 + M_L, 15 + M_T);printer.PrintLine(12 + M_L, 19 + M_T, 53 + M_L, 19 + M_T, 0.3, 0, "#0000ff");//部门后的线条printer.PrintLine(0 + M_L, 21 + M_T, 180 + M_L, 21 + M_T, 1, 0, "#0000ff");//主边框(上)printer.PrintLine(0 + M_L, 21 + M_T, 0 + M_L, 91 + M_T, 1, 0, "#0000ff"); //主边框(左)printer.PrintLine(0 + M_L, 91 + M_T, 180 + M_L, 91 + M_T, 1, 0, "#0000ff"); //主边框(下)printer.PrintLine(180 + M_L, 91 + M_T, 180 + M_L, 21 + M_T, 1, 0, "#0000ff"); //主边框(右)for (var i = 0; i < 6; i++) {    printer.PrintLine(0 + M_L, 31 + (10 * i) + M_T, (i==2||i==5?180:96) + M_L, 31 + (10 * i) + M_T, 0.3, 0, "#0000ff");//表格内6条横线}printer.PrintLine(64 + M_L, 21 + M_T, 64 + M_L, 81 + M_T, 0.3, 0, "#0000ff"); //表格内竖线printer.PrintLine(96 + M_L, 21 + M_T, 96 + M_L, 91 + M_T, 0.3, 0, "#0000ff"); //表格内竖线2printer.PrintLine(105.5 + M_L, 21 + M_T, 105.5 + M_L, 81 + M_T, 0.3, 0, "#0000ff"); //表格内竖线3printer.PrintLine(137 + M_L, 81 + M_T, 137 + M_L, 91 + M_T, 0.3, 0, "#0000ff"); //表格内竖线4printer.PrintText("用     途", 0 + M_L, 21 + M_T, 64 + M_L, 31 + M_T, 5);printer.PrintText("金 额 (元)", 64 + M_L, 21 + M_T, 96 + M_L, 31 + M_T, 5);printer.PrintText("部\n门\n领\n导\n审\n批", 96 + M_L, 21 + M_T, 105.5 + M_L, 51 + M_T, 5);printer.PrintText("公\n司\n领\n导\n审\n批", 96 + M_L, 51 + M_T, 105.5 + M_L, 81 + M_T, 5);printer.PrintText("合     计", 0 + M_L, 71 + M_T, 64 + M_L, 81 + M_T, 5);printer.PrintText("金额大写:", 1 + M_L, 84 + M_T);printer.PrintText("原借款:", 99 + M_L, 84 + M_T);printer.PrintText("应退余款:", 139 + M_L, 84 + M_T);//表格数据打印//printer.PrintPicFromBase64("",10,10,60,80);printer.PrintCommit();   }}

数据打印未跟表格内文字打印类似,只需用直尺量出打印位置或范围即可通过js代码控制打印位置

以下为打印效果:

 

插件下载地址

http://download.csdn.net/detail/nxiaoping/5349478

原创粉丝点击