还是那句话:十年河东,十年河西,莫欺少年穷。
目前,web端打印技术有很多,有收费的专业web打印控件,大家可以参考我的上一篇博客。当然,很多公司不愿意出钱,那么今天咱们就探讨下怎么做免费的打印。
web端JS技术很强大,JS也提供了简单的打印方法,大家可参考JQprint()方法,这个方法网上有很多说明,在我的上一篇博客中也有提到,可以简单实现打印功能,大家可自行查询资料,在此不作说明。
现在咱们进入主题。
本篇旨在讲解用C#代码实现打印的方法及思路。
先说下思路:
项目模块各功能要求打印的内容是各不相同的,有打印列表的,有打印图表的,有打印文字的,例如:打印三七班所有学生信息,这个属于列表。打印某个学生的体检单,这个属于表格和文字结合的。打印近五年毕业生的就业率,也就是柱状图/饼状图/线性图等,这个属于图表打印!
那么,不管是打印列表还是打印图表,亦或是其他复杂表格,我们在Docx文档中都是可以设计出来的,例如下图学生信息列表:
这种Docx文档,我们在此称为:模板
下面,将我制作的整个模板贴出来,如下:
OK,现在有了模板,我们下一步工作的内容是如何填充模板,并保存为新的Docx文档。例如:把模板中UserName替换为:XX班。把maomi替换为:三七班的班花的照片。把空着的表格填充XX班学生的信息。
如何填充模板呢?填充完以后,如何保存为新的Docx文档呢?这些都是代码可以实现的,现在咱们先避开代码部分,继续讲解思路。
有了填充后的docx文件,用户下载后,就可以实现打印了,但是docx文件不是只读的,为了防止用户故意篡改docx文档,我们有必要将docx文档转化为PDF文件或者swf文件(所谓:swf文件是Flash文件)。
将填充后的docx文档转化为PDF或者Flash文件后,我们的工作也就做完了!用户也就可以打印相应的文件了。
现在先演示下我的项目:
属于横向打印:如下:
以上便是整个操作过程,项目运行后,会在浏览器端展示PDF文件,然后,鼠标右击,打开打印页面!
至于项目代码,由于太多,不在博客园上传,下载地址:http://download.csdn.net/detail/wolongbb/9820491
@陈卧龙的博客 |