打印要用到C#自带的打印机的组件

建议窗体添加PageSetupDialog(对打印的页进行设置),PrintDialog(选择打印机,设置一些打印参数),PrintDocumentDialog(执行打印的对象),PrintProviewDialog(打印预览)

打印操作在二维码,条形码生成的文章中说道,二维码和条形码生成的时候要用PictureBox,要显示的码以图片的形式生成在PictureBox中,要打印的内容放置Labe控件即可,上面是模拟打印可视化的效果,并不是真正的打印效果,真正的打印效果是需要自己根据标签的尺寸进行布局的,下面介绍如何进行打印布局。

前面提到的四个打印的Dialog,除了PrintDocumentDialog,其他的都是可以以ShowDialog的方式进行显式配置的,对于PrintDocumentDialog,我们要在它的可生成的事件中添加PrintPage事件,在该事件中进行打印的布局,通过CodePrintDocument.Print();函数触发该事件,其中CodePrintDocument是用PrintDocumentDialog创建的对象。FarmProductPrintOperation函数为自定义函数,在PrintPage事件中调用。

protected void FarmProductPrintOperation(System.Drawing.Printing.PrintPageEventArgs e)
        {
            Font qr_print_font = new Font("楷体", 4, FontStyle.Regular);                             //打印字体的选择
            SolidBrush qr_draw_brush = new SolidBrush(Color.Black);
            StringFormat qr_drawFormat = new StringFormat();                                          //打印字体时的分辨率选择
            qr_drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;
            float qr_y_offset_value = 4;
            float qr_y_start_position = 11 + qr_y_offset_value;
            float qr_x_start_position = 62;
            float qr_offset_position = 8;
            float qr_text_y_start_opsition;
            //此时的内容包含了“产品:”
            if (percent_farm_prinf_infor.ProductName.Length >= 12)
            {
                qr_text_y_start_opsition = qr_y_start_position + 6;
            }
            else
            {
                qr_text_y_start_opsition = qr_y_start_position;
            }

//重点部分,高清打印采用下面的方式,在打印时显示的图片用e.Graphics.DrawImage,显示的文字用e.Graphics.DrawString,后面的坐标为在标签中打印内容的位置,具体的布局自己实现
            e.Graphics.DrawImage(QRCodePictureBox.Image, 3, 3 + qr_y_offset_value, QRCodePictureBox.Width, QRCodePictureBox.Height);
            e.Graphics.DrawString(percent_farm_prinf_infor.ProductName, qr_print_font, qr_draw_brush, qr_x_start_position, qr_y_start_position);
            e.Graphics.DrawString(percent_farm_prinf_infor.ProductModel, qr_print_font, qr_draw_brush, qr_x_start_position, qr_text_y_start_opsition + qr_offset_position * 1);
            e.Graphics.DrawString(percent_farm_prinf_infor.BatteryCapacity, qr_print_font, qr_draw_brush, qr_x_start_position, qr_text_y_start_opsition + qr_offset_position * 2);
            e.Graphics.DrawString(percent_farm_prinf_infor.PowerInput, qr_print_font, qr_draw_brush, qr_x_start_position, qr_text_y_start_opsition + qr_offset_position * 3);
            e.Graphics.DrawString(percent_farm_prinf_infor.CompanyName, qr_print_font, qr_draw_brush, qr_x_start_position, qr_text_y_start_opsition + qr_offset_position * 4);
            qr_print_font = new Font("楷体", 6, FontStyle.Regular);
            e.Graphics.DrawString(percent_farm_prinf_infor.IMEI, qr_print_font, qr_draw_brush, 34, 64 + qr_y_offset_value);
        }

题外扩展:在产品进行产测时,一般要求产测PC端软件生成的产测的日志文件记录产测的情况,给产测成功的产品进行贴标签(条形码或是二维码以及相关内容的打印)的操作,产测完成后,使用扫描枪对产品进行入库操作

实现了高清的标签打印后,使用扫描枪对打印出来的条形码和二维码进行扫描操作,请查看另外一篇C#关于扫描枪的操作

C# 如何高清打印标签纸相关推荐

  1. 高清设计素材|自然纸纹理,重构自然与生活的趣味

    纹理,泛指物体表面上的花纹或线条. 在设计中,纹理效果可以指有立体触觉的纹理运用,或是纹理在平面中的可视化效果.纹理效 果以其独特的美感表现了商品属性,增加商品的附加值. 在把握纹理效果的尺度时,要突 ...

  2. 今日小程序推荐:纸塘-这个壁池真高清!

    想换个心情?但又不想费钱换手机,那只能换壁纸了! 你不会还在用网页中查找.下载.设置吧,OUT啦!!! 现在有了小程序,一键搞定. 今天推荐一款壁纸小程序: 纸塘 全名叫壁纸池塘,简称"壁池 ...

  3. 小白请上车 | Python抓取花瓣网高清美图

    一:前言 嘀嘀嘀,上车请刷卡.昨天看到了不错的图片分享网-- 花瓣 ,里面的图片质量还不错,所以利用selenium+xpath我把它的妹子的栏目下爬取了下来,以图片栏目名称给文件夹命名分类保存到电脑 ...

  4. 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波

    - End - 猜你喜欢: 看新闻竟然可以赚钱??? 朋友圈千万别设置三天可见!哈哈哈~ 圣诞节,你收到过的奇葩礼物是什么? 教你玩赚支付宝红包攻略,如何领大额红包!!! 哈哈哈~现在的骗子真的一届不 ...

  5. 荣耀X20 SE评测:6400万高清美拍 2000元以下真香现场

    不久前荣耀召开了新机发布会,正式推出了全新的荣耀50系列机型,其中荣耀50.荣耀50 Pro目前已上市开售,获得了非常不错的市场表现,而定位稍低的荣耀50 SE虽目前还在预售中,但同样吸引了不少用户的 ...

  6. 游戏迷英雄联盟游戏高清壁纸!扮演你的英雄

    简介:英雄联盟游戏的风靡已经持续了好长一段时间了. 这个由腾讯旗下的公司开发的竞技网游,目前已经累计了相当多的玩家和粉丝. lol英雄联盟壁纸大全让你重新燃起战斗的热情. 说到电脑壁纸,你是否也是一个 ...

  7. 南丁格尔邮票图片大全_【鉴赏】武夷山普通纪念币鉴赏(高清图片)

    点击上方蓝字『爱好纪念币』:点击右上角『...』:点选『设为星标』. 2020年12月21日,央行发行世界文化和自然遗产--武夷山普通纪念币一枚,采用黄铜合金材质,面额为5元,式样为圆角正方形,外接圆 ...

  8. 免费壁纸背景高清图片素材网站

    看到大家都在问壁纸背景高清图片素材,既要免费又要质量好,数量还要多,小编好不容易挖到了宝藏素材网站哦,不知道爱给网这个网站大家认识不,资源优质数量庞大,使用体验也很好,要是需要的话,赶紧看一看,小编会 ...

  9. (元)黄公望---富春山居图(中国十大传世名画之八) 高清图下载

    <富春山居图> 高清图下载: 元.黄公望<富春山居图>.jpg <富春山居图>是元朝画家黄公望的作品,是黄公望为无用师所绘,以浙江富春江为背景,全图用墨淡雅,山和水 ...

最新文章

  1. Ascend Pytorch算子功能验证
  2. 永洪Desktop安装后启动提示缺少libv8_libbase.dll文件解决办法
  3. 数据结构与算法 / 排序算法(3)
  4. MySQL之父直播公开课来了!与腾讯云CDB专家天团联袂分享
  5. window screen (获取屏幕信息)
  6. .net测试篇之Moq框架简单使用
  7. MPEG的完整形式是什么?
  8. 信息学奥赛一本通(1221:分成互质组)
  9. JavaCC报错: JavaCC reported exit code 1: [-LOOKAHEAD=1, -STATIC=false
  10. 【note】《软件体系结构》知识整理(1-5章)
  11. Extjs核心概念之Store
  12. MYSQL 4种插入数据的方式比较
  13. 打乱一个排好序的 list 对象 alist?
  14. 计算机网络图标显示不出来,网络图标不见了汇总解决教程
  15. 【ML】使用支持向量回归器进行时间序列预测
  16. antdesign vue 表格,点击某行的事件写法
  17. libxml2.7.8 c++ 解析xml文件 中文转换
  18. 想用QQ小程序流量主广告赚钱,你需要知道的知识!
  19. JNI(4) JNI Functions
  20. ONVIF协议 简介

热门文章

  1. 嵌入式linux-----ARM裸机(5)-----SDRAM和重定位relocate
  2. 利用正则表达式检验邮政编码及电子邮件 E-MAIL 格式
  3. Paho mqtt C语言库介绍
  4. linux配置添加组播mac地址,端口静态添加组播MAC地址如何实现
  5. 服务器外链图片不显示,一次解决WordPress引用外部图片无法显示问题
  6. 单片机c语言程序为什么要加密,(转老贴)单片机加密方法简介:
  7. python waitkey_python—OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用
  8. java反射的原理_java反射机制的实现原理
  9. 以梦喂马,驰骋岁月;以梦为马,诗酒趁年华。
  10. Pandas多条件筛选