CNFT

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

今天推荐的这款Web打印的OCX组件是《飞天Web打印组件》,是真正免费,不加水印,没有机器码限制,没有ip或域名限制,没有时间限制,兼容ie6+。无须注册,下载即用

这是一个OCX组件,主要应用在IE的Web打印上。

下载地址:http://www.cnft.cn/cnftPrintOcx.asp

 

安装说明:
1.安装路径
x86的操作系统,请将cnftPrint.ocx拷贝到C:\Windows\System32目录下。
x64的操作系统,请将cnftPrint.ocx拷贝到C:\Windows\SysWOW64目录下。

2.安装命令
安装组件命令:regsvr32 cnftPrint.ocx
卸载组件命令:regsvr32 cnftPrint.ocx -u
Win10操作系统,执行regsvr32命令,需要使用管理员权限运行。

3.组件库名称
组件在Type Library中的名称为:cnftPrintOcx

4.组件在HTML中引用
直接object引用:<object id="cnftPrintOcx1" width="0" height="0" classid="clsid:7258F570-E518-4AF2-8A55-F450E4AF8BE8"></object>
JS引用:<script type="text/javascript" src="cnftPrintOcx.js"></script>
两种引用说明:“直接object引用”在ie一些版本中,需要手工点击组件,才能激活组件;而采用“JS引用”则不需要手动点击组件即可激活,所以,推荐采用“JS引用”方式。

 

使用上,接口不是很多,但够用了,完全免费,没有任何限制,使用起来也比较方便。以下是代码:

 

《飞天Web打印组件》常规打印,制定打印格式,诀窍是用尺子量;
组件采用的输入单位是毫米,可以带一位小数,如18.5毫米;
采用这样的位置参数输入,即可非常直观将打印内容定位,
用尺子将标签的左边距、上边距、长度、宽度量出来;
简单的就可以制定出打印格式,输入打印内容,完成打印。


以下是代码:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>常规打印</title>
</head>

<body>
<script type="text/javascript" src="cnftPrintOcx.js"></script>
<script type="text/javascript">
function doPrint()
{
var objPrint=document.getElementById('cnftPrintOcx1');

//清除控件上的所有打印元件
objPrint.ftClear();

//设置打印纸张,可支持:
//Custom,A2,A3,A3Extra,A3Trans,A4,A4Extra,A4Plus,A4Small,A4Trans A5,A5Extra,A5Trans,B4,B4ISO,B5,B5Extra,B5Trans
//说明:
//Custom是用户自定义纸张大小
objPrint.ftPaperSize='Custom';

//设置打印方向,1为纵向、2为横向
objPrint.ftPaperOrientation=1;

//设置打印纸宽度和高度(单位毫米),此设置只有在纸张类型为Custom时才有效
objPrint.ftPaperWidth=200;
objPrint.ftPaperHeight=100;

//设置所有元件针对左边距的偏移量(单位毫米)
objPrint.ftOffsetLeft=0;

//设置所有元件针对上边距的偏移量(单位毫米)
objPrint.ftOffsetTop=0;

//添加一个矩形元件,参数依次为:左边距(单位毫米),上边距(单位毫米),矩形宽度(单位毫米),矩形高度(单位毫米),内填充颜色,边框宽度,边框颜色
objPrint.ftAddRectangle(13, 11, 175, 3, 'FF0000', 1, '000000');
objPrint.ftAddRectangle(100, 20, 90, 70, 'FFFFFF', 1, '000000');

//添加一个圆形元件,参数依次为:外接矩形左边距(单位毫米),外接矩形上边距(单位毫米),外接矩形宽度(单位毫米),外接矩形高度(单位毫米),内填充颜色,边框宽度,边框颜色
objPrint.ftAddCircle(10, 10, 5, 5, '33CC00', 1, 'CC0000');
objPrint.ftAddCircle(185, 10, 5, 5, '33CC00', 1, 'CC0000');

//添加一个竖线元件,参数依次为:左边距(单位毫米),上边距(单位毫米),宽度(单位毫米),高度(单位毫米),竖线颜色
objPrint.ftAddVerticalLine(110, 20, 1, 70, '000000');

//添加一个横线元件,参数依次为:左边距(单位毫米),上边距(单位毫米),宽度(单位毫米),高度(单位毫米),横线颜色
objPrint.ftAddHorizontalLine(100, 30, 90, 1, '000000');
objPrint.ftAddHorizontalLine(100, 40, 90, 1, '000000');
objPrint.ftAddHorizontalLine(100, 50, 90, 1, '000000');
objPrint.ftAddHorizontalLine(100, 60, 90, 1, '000000');

//添加一个图片元件,参数依次为:左边距(单位毫米),上边距(单位毫米),图片宽度(单位毫米),图片高度(单位毫米),图片URL地址
//注意:如果"图片宽度"和"图片高度"任一为0,则元件将根据图片自动缩放大小
//说明:图片URL地址 可以是以http://开头的网络图片地址,也可以是当前电脑硬盘上的图片文件
//说明:如果是当前电脑上的图片文件,如“c:\baidu\logo.gif”需要将“\”替换为“\\”或者“/”,方可正常加载图片。
//图片格式支持bmp、jpg、gif、png
objPrint.ftAddImage(15, 25, 0, 0, 'http://www.cnft.cn/image_link/cnft.cn.png');
//objPrint.ftAddImage(15, 25, 0, 0, 'D:\\pic\\1.png');

 

 


//添加一个打印元件,参数依次为:元件唯一标识,左边距(单位毫米),上边距(单位毫米),宽度(单位毫米),高度(单位毫米),字体名称,字体大小,字体眼色,字体背景颜色,字体样式,字体对齐方式
//字体样式:0默认,1加粗,2加斜,3加下划线,4加删除线
//字体对齐方式:0左对齐,1居中,2右对齐;注意:需要宽度为固定值
//固定元件宽度,即文字将可以自动换行
objPrint.ftAddLabel('用户号', 120, 23, 0, 0, '宋体', 12, '000000', '', '0',0);
objPrint.ftAddLabel('用户名', 120, 33, 0, 0, '宋体', 12, '000099', '', '1',0);
objPrint.ftAddLabel('金额小写', 120, 43, 60, 0, '宋体', 12, 'FF0000', '', '12',2);//固定元件宽度,设置为右对齐
objPrint.ftAddLabel('金额大写', 120, 53, 60, 0, '宋体', 12, 'FF0000', '', '123',2);//金额可以用组件自带接口wfMoneyToCHN转换成中文格式
objPrint.ftAddLabel('备注', 120, 63, 60, 20, '宋体', 10, '000000', '', '0',0);//固定元件宽度,即文字将可以自动换行

 

//为组件赋值,参数为:元件唯一标识,元件要打印的文本
objPrint.ftAddValue('用户号', '000000101');
objPrint.ftAddValue('用户名', '张三');

objPrint.ftAddValue('金额小写', '1234.56');

//wfMoneyToCHN接口是将数字转换成中文的汉字格式
objPrint.ftAddValue('金额大写', objPrint.ftMoneyToCHN(1234.56));

objPrint.ftAddValue('备注', '《飞天Web打印组件》支持票据、发票、通知单、派工单、出货单的打印。支持精确定位和微调的打印软件,采用毫米做定位单位。');

 

//立即打印到打印机
objPrint.ftPrint();

 


//获取该组件的软件名、版本、网站
//http://www.cnft.cn
//window.alert(objPrint.ftSoftware);
//window.alert(objPrint.ftVersion);
//window.alert(objPrint.ftWebsite);
}
</script>
<input type="button" name="btnPrint" value="打印" onclick="doPrint();">
</body>

</html>

 

posted on 2020-02-06 10:33  CNFT  阅读(903)  评论(0编辑  收藏  举报