讨论创建基于WSE的报表打印服务及其实现
摘要:看过卢彦先生的关于WEB报表打印实现文章的人,一定会为里面所提供的解决方案击节叫好,本文试图给大家展现一个更灵活的打印作业流水,并具有一定的实用性。建议大家在阅读本文之前先阅读卢彦先生的两篇文章,同时本文采用了微软的WSE(1.0)作为辅助工具,对此感到陌生的朋友,建议先参考一些概念性的文章,我在文章的最后列了一些参考资料和所需工具,大家可自行体会。
--------------------------------------------------------------------------------
目录
引言
软件原理
程序实现
注意事项
总结
参考资料
--------------------------------------------------------------------------------
引言:
WSE提供了一个非常方便的功能,就是支持附件的传输,尽管我们可以采用别的方式来达到这个目的,比如直接的返回byte型的数据,但是对于大多数应用而言,直接返回一个附件,如一张图片更为实在些,请大家不要误会我文章的标题,以为创建一个WEBSERVICE就可以方便地实现了打印了,我们的软件原理和最终打印的方式跟卢彦先生里提到的并无多大区别,我们只是利用了WebService的强大的穿透性,来使这个方式更为灵活,更易于应用和拓展,本文所采用的代码全部用C#编写。
--------------------------------------------------------------------------------
软件原理:
本文采用了XML形式的数据,客户端将需要打印的数据和一些基本的参数,如图象大小,图象形式等传送给服务器端,而服务器端则根据客户端的要求生成特定的一张或多张图片返回给客户端,由客户端的打印程序统一处理,看了这个逻辑我们就可以发现:所有的业务规则完全在服务器端运做,而客户端只需要少量的代码就可以实现报表的打印。这样就避免了各种升级所带来的烦恼,当实际运用中要求增加一种或多种图表的时候,我们所需要做的只是增加或者修改服务器端的业务规则,而客户所要做的只是告诉我们要打印这种图表就可以了。
本文采用了一些简单的XML数据,仅供示范用,客户端的Demo数据如下:
<?xml version="1.0" encoding="utf-8"?>
<Root PrintType="line" Width="450" Height="500" Title="Print Demo">
<Child Text="1" Value="100" Color="Black">
补充:asp教程,高级应用