C# web项目利用docx文档作为模板~为打印专做的解决方案

简介: 还是那句话:十年河东,十年河西,莫欺少年穷。目前,web端打印技术有很多,有收费的专业web打印控件,大家可以参考我的上一篇博客。当然,很多公司不愿意出钱,那么今天咱们就探讨下怎么做免费的打印。web端JS技术很强大,JS也提供了简单的打印方法,大家可参考JQprint()方法,这个方法网上有很多说明,在我的上一篇博客中也有提到,可以简单实现打印功能,大家可自行查询资料,在此不作说明。

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

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

@陈卧龙的博客

相关文章
|
16天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
30天前
|
机器学习/深度学习 人工智能 前端开发
机器学习PAI常见问题之web ui 项目启动后页面打不开如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
1月前
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
21 0
|
2月前
|
前端开发 API 数据安全/隐私保护
Web前端开发中的跨域资源共享(CORS)解决方案
【2月更文挑战第5天】在Web前端开发中,跨域资源共享(CORS)是一个常见的挑战。本文将探讨CORS的概念和原理,并介绍一些常用的解决方案,包括服务器端配置和前端处理方法,帮助开发者更好地应对跨域请求问题。
110 4
|
1月前
Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】
Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】
16 0
|
25天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
30天前
|
SQL C# 数据库
C# 读取多条数据记录导出到 Word 标签模板
C# 读取多条数据记录导出到 Word 标签模板
|
30天前
|
C# 开发工具 数据安全/隐私保护
C#实现基于Word保护性模板文件的修改
C#实现基于Word保护性模板文件的修改
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
缓存 移动开发 监控
Star 1.3K!推荐一款可以远程调试任意Web项目的开源工具!
Star 1.3K!推荐一款可以远程调试任意Web项目的开源工具!