此方法利用Code 128字体实现条码打印,所以需要提前安装Code 128字体,下载地址如下:
http://pan.baidu.com/share/link?shareid=1787017019&uk=2382364834

        /// <summary>/// 获取128条码数据/// </summary>private string Get128CodeString(string inputData){string result;//计算校验位int checksum = 104;for (int ii = 0; ii < inputData.Length; ii++){if (inputData[ii] >= 32){checksum += (inputData[ii] - 32) * (ii + 1);}else{checksum += (inputData[ii] + 64) * (ii + 1);}}checksum = checksum % 103;if (checksum < 95){checksum += 32;}else{checksum += 100;}//条码由开始位、数据、校验位、停止位组成result = Convert.ToChar(204) + inputData.ToString() + Convert.ToChar(checksum) + Convert.ToChar(206);return result;}/// <summary>/// 打印条形码/// </summary>public void PrintBarCode(){PrintDocument printDoc = new PrintDocument();StandardPrintController controler = new StandardPrintController();printDoc.PrintPage += new PrintPageEventHandler(this.PrintCustom);printDoc.PrintController = controler;printDoc.Print();}/// <summary>/// 事件:打印设置/// </summary>public void PrintCustom(Object Sender, PrintPageEventArgs e){Font ft1 = new System.Drawing.Font("Times New Roman", 18, FontStyle.Regular, GraphicsUnit.World);Font ft2 = new System.Drawing.Font("Code 128", 64, FontStyle.Regular, GraphicsUnit.World);Brush br = new SolidBrush(Color.Black);Margins margins = new Margins(50, 50, 50, 145);e.PageSettings.Margins = margins;e.Graphics.DrawString(this.Get128CodeString(m_InputString), ft2, br, 50, -3);e.Graphics.DrawString(this.m_InputString, ft1, br, 110, 60);e.HasMorePages = false;}

转载于:https://www.cnblogs.com/ExDevilLee/p/3447750.html

128条形码计算,利用Code 128字体实现条码打印相关推荐

  1. 生成条形码 code39 和 code 128

    依赖 <dependency><groupId>net.sf.barcode4j</groupId><artifactId>barcode4j-ligh ...

  2. java 实现打印条形码_条码打印软件中如何设置条形码下面的字符间距?

    条形码有两部分组成,上面是黑白条图案,用于扫描设备的识别,下面是条形码数据,方便在没有扫描设备的情况下可以手动去搜索相关的信息.一般用条码打印软件制作条形码,下面的条形码数据间距是自动生成的,而在条码 ...

  3. 条码打印软件如何制作同时包含日期和流水码的条形码

    很多条形码在制作的时候会含有日期或者流水码,也有的条形码是同时包含日期和流水码,有的人使用条码打印软件制作条形码的时候可能不知道如何设置,接下来小编就教大家在条码打印软件中如何制作同时包含日期和流水码 ...

  4. 条码编码方式-----Code 39与code 128条形码的区别

    CODE 39码的编码规则是: 1. 每五条线表示一个字符: 2. 粗线表示1,细线表示0: 3. 线条间的间隙宽的表示1,窄的表示0: 4. 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九 ...

  5. 一维码Code 128简介及其解码实现(zxing-cpp)

    一维码Code 128:1981年推出,是一种长度可变.连续性的字母数字条码.与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大. Cod ...

  6. Code 39码与Code 128码区别

    Code 39码与Code 128码区别  128 码与 Code 39 码有很多的相近性,都广泛运用在企业内部管理.生产流程.物流控制系统方面.不同的在于 Code 128 比 Code 39 能 ...

  7. 解决git did not exit cleanly (exit code 128)

    最近在用git提交代码到部门服务器上的时候,总是有 提示 git did not exit cleanly (exit code 128).网上有2种解决方式: 1.替换路径 1.鼠标右键 -> ...

  8. Git操作,有时候会遇到“git did not exit cleanly (exit code 128)”错误

    我在上传些代码的时候,有时候会遇到“git did not exit cleanly (exit code 128)”错误.通常都是网络原因. 我在上传些代码的时候,有时候会遇到"git d ...

  9. Jenkins连接git时出现“Failed to connect to repository : Command ... HEAD“ returned status code 128:”的问题解决

    Jenkins连接git时出现"Failed to connect to repository : Command ... HEAD" returned status code 1 ...

最新文章

  1. Boson_Netsim_6使用方法
  2. JavaScript知识总结
  3. 吃完降压药多久能睡觉 降压药什么时候吃好
  4. python集合与字典区别_Python中的字典与集合
  5. Leetcode690.Employee Importance员工的重要性
  6. 第三四五章(PTA复习)
  7. oracle数据库报错1033,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决
  8. 随笔:开学大四!!!稍微做点准备工作
  9. 使用jquery版本的viewer.js图片更新的问题
  10. Linux学习总结(27)——CentOS7及以上系统的systemctl命令使用介绍
  11. 圣诞好礼之Grid视频
  12. Windows 的 80 端口被 System 进程占用解决方案
  13. 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(二)
  14. 说说 XcodeGhost 这个事
  15. Matlab实现熵权法并计算权重和综合评分——附增完整代码和测试用例
  16. 2019年最新目标检测算法综述汇总
  17. 微信实现电脑远程关机
  18. 来个水帖:下载Dev
  19. Ubuntu 20.04修改ip地址
  20. Eclipse Neno版本 安装插件开发JavaEE

热门文章

  1. Android Studio教程10-Intent的详细使用
  2. 看eShopOnContainers学一个EventBus
  3. Struts2_概述
  4. Sql Server 字符串操作总结
  5. 下的生产环境was重新启动不同意,怎么做?
  6. 超级实用且不花哨的js代码大全
  7. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
  8. phalcon: 解决php7/phalcon3.2以上版本,不支持oracle数据库的方法
  9. Mac 应用程序不能打开解决方法
  10. ES使用org.elasticsearch.client.transport.NoNodeAvailableException: No node available 错误解决方法