zoukankan      html  css  js  c++  java
  • C# web项目利用docx文档作为模板~为打印专做的解决方案

    还是那句话:十年河东,十年河西,莫欺少年穷。

    目前,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

    @陈卧龙的博客

  • 相关阅读:
    FastDFS安装配置过程中出现错误提示"/home/yuqing/fastdfs" can't be accessed, error info: No such file or directory
    dubbo-monitor安装监控中心,管理控制台安装网页一直访问不到,解决bug的方式记录
    dubbo-monitor安装监控中心,管理控制台安装
    zookeeper伪分布式集群安装
    zookeeper单节点安装
    JedisCluster操作redis集群demo
    Redis Cluster集群的搭建
    redis3.0.6安装配置
    Windows注册表中修改CMD默认路径
    eclipse中使用mybatis-generator逆向代码生成工具问题解决记录
  • 原文地址:https://www.cnblogs.com/chenwolong/p/docx2PDF.html
Copyright © 2011-2022 走看看