杰表技术论坛 's Archiver

admin 发表于 2009-11-12 11:41

很不错的WEB打印控件(转帖)

很不错的WEB打印控件 - [[url=http://azfly.cn/logs/13/][color=#0000ff]ASP程序[/color][/url]]
网上好些同行的网友在自己的网站上卖东西,可是东西卖出去了,订单怎么办呢?一个两个还好说,可以手抄一下,那万有很多订单,用手抄?简直是不可能,这时候他们就想寻求一种能在WEB上编辑并且把订单批量打印出来的技术,在网上找了很久,本人总结了三种打印方式。都不错各有长处。
[b]1、直接打印网页[/b]
就是利用 window.print(); 来打印,相信很多编程的朋友的知道,这个用法是把整个网页里有用的没用的都统统打印出来了,不能做到精确打印。
[b]2、利用IE自带的WebBrowser控件实现打印支持主流的编程语言如:ASP PHP .NET HTML [/b]
首先我们要再需要打印的页面上嵌入WebBrowser控件,如下:
<object id="wb1" classid="clsid:8856f961-340a-11d0-a96b-00c04fd705a2" height="0" width="0" ></object>
然后可以在要打印的页面上调用如下方法进行打印控制:
<input type="button" value="打印" />
<input type="button" value="页面设置" />
<input type="button" value="打印预览" />
<input type="button" value="打开" />
<input type="button" value="保存" />
<input type="button" value="属性" />
<input type="button" value="全选" />
<input type="button" value="刷新" />
<input type="button" value="关闭" />
这种方法也有缺点,比前一个例子好一点,但还是不能做到很精确(你可以试试看看效果),有些网友说第二种代码不能用,没反应,其实问题出在IE的安全级别上,IE连自己的控件都不信任了,呵呵,打开"Internet选项—安全—自定义级别—允许运行以前未使用的ActiveX控件而不提示(启用),运行ActiveX控件和插件(启用)",这样再运行控件时就能用了,呵呵
[b]3、利用第三方的打印控件(jatools网页打印控件)[/b]
下载地址:[url=http://download.csdn.net/source/533777][color=#0000ff]http://download.csdn.net/source/533777[/color][/url]
简单示例如下:( 注意:一定要把压缩包里的 [color=red]jatoolsp.cab [/color]上传到你的网站目录中,并在插入控件时设置好路径 )
[font=Verdana]<title>jatoolsP 打印示例</title>[/font]
[font=Verdana]<!-- 插入打印控件 提前将jatoolsP.cab放入网站目录中,并设置好JATOOLSP.CAB 的路径 -->
<OBJECT style=" width:0; height:0" ID="jatoolsPrinter" CLASSID="CLSID:B43D3361-D075-4BE2-87FE-057188254255" codebase="jatoolsP.cab#version=1,2,0,2"></OBJECT>

<script type="text/javascript">
function doPrint(how)
{if(typeof(jatoolsPrinter.page_div_prefix)=='undefined'){
alert("请按页顶上的黄色提示下载ActiveX控件.如果没有提示请按以下步骤设置ie.\n 工具-> internet 选项->安全->自定义级别,设置 ‘下载未签名的 ActiveX ’为’启用’状态")
return ;}
var myreport ={documents: document
};
if(how =='打印预览...')
jatoolsPrinter.printPreview(myreport ); // 打印预览
else if(how =='打印...')
jatoolsPrinter.print(myreport ,true); // 打印前弹出打印设置对话框
else
jatoolsPrinter.print(myreport ,false); } // 不弹出对话框打印
</script>
<input type="button" value="打印预览...">
<input type="button" value="打印...">
<input type="button" value="打印">
<div id='page1' style=' margin:5px; padding:10px;width:200px;height:260px;background-color:#eeeeee; float:left'>报表第一页div id : page1
</div>
<div id='page2' style='margin:5px;padding:10px;width:200px;height:260px;background-color:#eeeeee; float:left'>报表第二页div id : page2</div>[/font]

说明:只要把要打印的表格放在DIV中即可,打印时会把这个DIV里所有的文字和表格打印,而且还支持底图套打,很不错。详细方法请下载说明书(azfly.cn强烈推荐使用)
还有一款免费打印控件也不错,锐洋WEB打印控件:clsid=DC2A3C42-24DC-4FD6-836A-A2E8594ABC15 请到官方网站下载锐洋WEB打印控件
由于时间关系,就不写了,具体的用法查看控件示例,想信你也能看懂,如果不懂就点击屏幕下方的QQ,或mail给我,我会尽力帮大家解决问题的,呵呵
azfly.cn ASP程序员新手指南
原文:[url]http://azfly.cn/logs/13/32.html[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.