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

此单据以凭证纸大小打印

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"); //表格内竖线2
	printer.PrintLine(105.5 + M_L, 21 + M_T, 105.5 + M_L, 81 + M_T, 0.3, 0, "#0000ff"); //表格内竖线3
	printer.PrintLine(137 + M_L, 81 + M_T, 137 + M_L, 91 + M_T, 0.3, 0, "#0000ff"); //表格内竖线4

	printer.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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值