Winform开发框架之证件套打

简介:

在我的早期的一篇文章中《Web打印的解决方案之证件套打》,介绍过基于Web的证件套打方式;另外在我的代码生成工具中,一直介绍使用基于NVelocity模板引擎生成的代码,能够高效、快速、拥抱变化式的生成想要的代码。那么结合两者的特点,我们可以Winfrom界面中,利用NVelocity动态生成页面代码,然后利用WebBrowser控件,实现在Winfrom中的证件套打。在我的Winform框架集成了一些证件的套打功能,这样更能丰富日常开发中碰到的各种打印问题,提供更加广阔的应用前景。

首先我们来了解一下实现的效果,然后再来分析其中的实现思路和代码片段。

上面的Winform套打模块中,包含了三个不同证件,6个套打打印的效果。下面我们一个运输许可证的套打为例进行介绍讲解。

首先就是通过上面填写的数据,利用模板引擎自动生成页面代码,把相关的数据写到网页里面去。

        private void btnLicensePrint_Click(object sender, EventArgs e)
        {
            string tempalte = "Template/LicensePrintTemplate.htm";//相对目录
            HelperClassAdapter adapter = new HelperClassAdapter(tempalte);
            adapter.DirectoryOfOutput = "Template";
            adapter.AddKeyValue("CompanyName", this.txtCompanyName.Text)
                .AddKeyValue("Scope", this.txtScope.Text)
                .AddKeyValue("License", this.txtLicense.Text)
                .AddKeyValue("ParkAddr", this.txtParkAddr.Text)
                .AddKeyValue("IssuingDept", this.txtIssuingDept.Text)
                .AddKeyValue("LicenseYear", this.txtLicenseDate.Value.Year)
                .AddKeyValue("LicenseMonth", this.txtLicenseDate.Value.Month)
                .AddKeyValue("LicenseDay", this.txtLicenseDate.Value.Day)
                .AddKeyValue("ValidateYear", this.txtLicenseValidity.Value.Year)
                .AddKeyValue("ValidateMonth", txtLicenseValidity.Value.Month)
                .AddKeyValue("ValidateDay", this.txtLicenseValidity.Value.Day)
                .AddKeyValue("Year", DateTime.Now.Year)
                .AddKeyValue("Month", DateTime.Now.Month)
                .AddKeyValue("Day", DateTime.Now.Day)
                .AddKeyValue("EconomicType", this.txtEconomicType.Text);
            string filePath = adapter.ExecuteSingle();
            filePath = Path.Combine(Application.StartupPath, filePath);

            FrmWebBrowser frmView = new FrmWebBrowser();
            frmView.webBrowser1.Navigate(filePath);
            frmView.Show();
        }

通过以上的代码,会根据模板生成相应的页面文件,然后界面就会看到如下所示的效果,虽然看不到具体的套打数据,但是已经写到网页里面去了。

里面的页面代码会生成相应的证件数据,如下所示。

当我们选择“打印预览”的时候,就会调用打印控件进行套打显示了,里面显示的信息就是具体的证件信息了。当然,套打的背景是不会输出到打印机上的。

当我们选择“打印维护”的时候,就可以根据测试打印效果,对内容在纸张中的位置进行调整,指导满意位置,可以把调整的位置信息保存。

它是保存到本地的文件系统里面去的,所以只需要一次设置保存即可,今后就可以利用调好的位置进行套打了。

这样我们就可以实现基于Winform的证件套打,客户可以定制修改位置,使用起来非常友好和人性化。

由于Winform里面已经集成了打印控件的注册认证,因此打印的时候,不会出现版权文字信息了,真的是省心,省钱,呵呵。

本文转自博客园伍华聪的博客,原文链接:Winform开发框架之证件套打,如需转载请自行联系原博主。



目录
相关文章
|
1月前
|
小程序 JavaScript 前端开发
基于微信小程序的商城购物系统的设计与实现(论文+源码)_kaic
基于微信小程序的商城购物系统的设计与实现(论文+源码)_kaic
|
16天前
|
SQL 前端开发 Java
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
|
1月前
|
存储 小程序 前端开发
|
1月前
|
新零售 人工智能 小程序
一亩田模式链动商城小程序开发
新零售不再将线上和线下视为两个独立的销售渠道,而是将其整合为一个完整的销售生态系统
|
3月前
|
小程序 JavaScript Java
基于微信小程序的房屋租赁系统设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的房屋租赁系统设计与实现(源码+lw+部署文档+讲解等)
135 0
基于微信小程序的房屋租赁系统设计与实现(源码+lw+部署文档+讲解等)
|
8月前
|
小程序 搜索推荐 算法
计算机毕业设计参考-微信小程序实现的校园餐饮预订与点餐平台源码
该系统分为管理端、小程序用户端和商户端三部分。管理端提供商品分类、商品、评价、订单和用户管理等功能,以及商户管理功能,可以管理商户信息、发布商品、查看店铺订单等。小程序用户端提供商品浏览、商品搜索、购物车、商品下单、个人信息、收货地址等功能,并使用基于协同过滤的推荐算法进行商品推荐。商户端提供与管理端相同的功能,并可以设置店铺信息和发布商品。用户和商户可以使用手机号码登录,获取验证码登录系统。该系统为校园点餐提供了一种方便快捷的解决方案,可以有效提升用户点餐的体验和商户的管理效率。
|
5月前
|
小程序 前端开发 Java
基于微信小程序的鲜花预定系统的设计与实现
基于微信小程序的鲜花预定系统的设计与实现
148 0
|
5月前
|
数据采集 自然语言处理 监控
基于.Net开发的、支持多平台、多语言餐厅点餐系统
基于.Net开发的、支持多平台、多语言餐厅点餐系统
75 0
|
8月前
|
前端开发 JavaScript NoSQL
在线商城拍卖系统开发通用架构源码分享
在当今迅猛发展的数字化时代,拍卖直播商城平台已经成为电商产业中不可或缺的一部分。为满足不断增加的市场需求,下面将介绍"东莞梦幻网络科技"基于现代技术栈构建的通用架构源码,以协助企业快速构建高效且稳定的拍卖直播商城平台。
|
10月前
|
存储 移动开发 小程序
基于微信平台教务管理系统的设计与实现(论文+源码)_kaic
网络技术的快速发展也使得越来越多的研究学者将计算机技术应用到停车、医疗、商业、旅游等各行各业,这些传统行业在计算机技术的催动下,正在快速发展。为了顺应时代发展的变化,将计算机技术应用到教务管理领域显得极为重要。 本文设计的教务管理系统主要使用Java技术进行系统的开发,以MySQL数据库作为主要的数据存储工具,有效的保证了数据的安全性和存储效率。论文对整个系统的功能需求进行了详细的分析,进一步确定了系统的各个功能模块,最后从系统的功能、性能2方面进行了测试,验证了系统的关键功能的有效性。