功能:在网页点击按钮调起本地的打印程序
本人想到的就是直接调起方式,网上大佬们说用注册表的形式来进行。
后面想到一种,在电脑开机时就开启,并在后台运行,等到有人去网页里面进行触发,这时候就有个问题,那它们咋通讯,我第一想到的就是websocket(后面遇到页面传太多数据导致,程序异常退出,采用了websocket-sharp的包来进行,重要的事情说3遍 win7可以用,win7可以用,win7可以用)
生成pdf文件采用的是spire.pdf,用这个在编写业务逻辑时遇到一个奇葩问题,浮点数显示不出来,后面发现是表格行的高度导致,win7在使用时得降低版本
呈现pdf采用的是pdfiumView
打印页面模块布局的整体思路就是做成表格的形式,spire.pdf里面表格就有两种。
一种是table,一种是gird,后者可以调用绝大数api,前者多数依赖事件。
由于打印界面又涉及到二维码和条形码,他们都要和他们字段陈列在一起,采用了后者gird,如果不是复杂的要求个人强烈建议用前者table因为简单。
两者设置数据有用他们的对象去设置创建各种行和列,另一种就是用它们对象的DataSource赋值,由于表格的格式是已经确定得的,数据量也不是很大就用了多维数组