用WORD打印代替WEB打印(一)

    利用WEB来打印打印,自我感觉非常不好,虽然有了一些打印的控件,但是感觉依然不爽,因为利用HTML来制作比较复杂的表格时,总是会出现这类或哪里的问题,而且并非所有浏览器对CSS的支持与解释都一样。举一个例子,如何向制作一个有斜线表头的表格,我只有用图片来实现。

   而都知道,利用WORD制作一个表格,是非常容易的,而且对于非常复杂的表格制作业非常简单方便。那么如何用WORD制作好一个打印模板,在打印的时候利用这个模板,并且往WORD里面相应的地方添加入相应的数据,然后打印这个WORD文件,那么所有问题不就迎刃而解了。

    经过一思索,终于将这个思想实现了,现在就以一个最简单的模板来讲解一下:

    1、先制作模板,如下图:

    2、实现WORD在浏览器中打开,并实现打印功能。这里用到了点聚的WEBOFFICE控件,免费的,大家可以到官网中下载。实现如下图:

   

    下面,贴上实现的代码,以作分享:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb18030" />
<title>用WORD打印代替WEB打印(一)</title>
<link type="text/css" rel="stylesheet" href="global.css" />
<SCRIPT LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady> 
<!--
	WebOffice1_NotifyCtrlReady();			// 在装载完Weboffice(执行<object>...</object>)控件后执行 "WebOffice1_NotifyCtrlReady"方法
//-->
</SCRIPT>

<script language="javascript">
function WebOffice1_NotifyCtrlReady() {
	
    var obj=document.getElementById("WebOffice1");
	obj.LoadOriginalFile("/templates/01-bao-ming.doc", "doc");  //下载模板

	if(obj.is2007==1)
	   obj.HideMenuArea("hideall","","",""); //隐藏所有菜单
	else
	   obj.HideMenuArea("","","",""); //隐藏所有菜单

	obj.HideMenuItem(0x01+0x02+0x04+0x4000);//隐藏TOOLBAR中的一些按钮
    obj.OptionFlag |= 0x0080;  //打开WROD下载进度条
    obj.SetTrackRevisions(0); //不记录修订信息
	initContent(obj);//初始化文档内容
    obj.ProtectDoc(1,1,"123"); //保护WORD文档,不允许修改
	

	
}



function initContent(obj){
	
   //获得WORD中的表格句柄
   var table=obj.GetDocumentObject().tables(1);
	
   /**
   *注意obj.ReplaceText("[GCBH]","20120721001",1);这个代码可以直接替换WORD模板中的[GCBH]字符
   *但是如果内容太多,这个方法会失效
   *这时,可以使用 table.Cell(1,1).range.Text="20120721001";
   *注意table的Cell值是从1开始的;table.Cell(行,列);
   */
   obj.ReplaceText("[GCBH]","20120721001",1);
   obj.ReplaceText("[GCMC]","惠民楼工程A、B、C座大楼",1);
   obj.ReplaceText("[JSDW]","建设单位--亚洲中国众夏建设工程有限公司",1);
   obj.ReplaceText("[JSGM]","建设规模,建设规模,建设规模建设规模,建设规模,建设规模建设规模,建设规模,建设规模建设规模,建设规模,建设规模。",1);
   obj.ReplaceText("[DATE]","2012-07-21",1);
   

   var n=13;
   if(n>1){
	   for(var i=0;i<n-1;i++){ 
	       table.rows.add(); //增加 13-1 行
	   }
   }
   
   //为表格赋值,这模板是在第六行开始的
   for(var i=1;i<=n;i++){
	   table.Cell(6+(i-1),1).range.Text=i;
	   table.Cell(6+(i-1),2).range.Text="报名单位"+i;
	   table.Cell(6+(i-1),3).range.Text="专业类型"+i;
	   table.Cell(6+(i-1),4).range.Text="资质登记"+i;
	   table.Cell(6+(i-1),5).range.Text="经办人"+i;
	   table.Cell(6+(i-1),6).range.Text="电话"+i;
	   table.Cell(6+(i-1),7).range.Text="传真"+i;
	   table.Cell(6+(i-1),8).range.Text="入围"+i;
	   
   }
	
}

</script>

</head>

<body>

<!-- ------------=== 装载Weboffice控件,如果没安装提示下载 ===-------------------- -->
  <script src="js/LoadWebOffice.js"></script>
<!-- ---------------------------=== 结束 ===----------------------------------- -->

</body>
</html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值