条形码简单,方便印刷,因此在各个领域得到了广泛的应用。我们自己的项目里也可以将一些特定的数据以条形码的方式来展示和应用,实现一码走天下。那么如何在C#,.Net平台代码里生成条形码呢?答案是使用SharpBarcode!
SharpBarcode是C#快速高效、准确的条形码,线性条码,QR二维码的读取和生成类库。接口调用简单,文档齐全。

初识SharpBarcode

您可以点击下面的链接了解更多信息:
1、SharpBarcode简介
2、一张图看懂SharpBarcode

生成条形码

从上面的两篇文章中,相信您已经大概了解了该类库。那么如何实现生成条形码呢?对!就是BarcodeWriteEngine的静态方法!
该类可以同时生成条形码和QR二维码,生成条形码的方法就是CreateBarcode及其重载方法。

设置授权码

在您调用SharpBarcode的方法之前,必须先设置授权,如果是试用版,直接传入Test即可。

//设置授权码
KeyMgr.SetKey("Test");

调用BarcodeWriteEngine的静态方法CreateBarcode

SharpBarcode支持多种编码格式类型的条形码,每一种条形码都有自己的字符集,您在生成该类型的条形码时,必须确保您要生成的数据是符合该类型的各项要求的,比如长度、字符集等。
这里演示将字符串生成一个条形码。同时SharpBarcode支持对生成的条形码进行样式调整,比如背景色、条码的颜色、添加边距、设置宽高大小等等。
也支持对生成的结果进行多种格式的保存和导出。比如保存为Bitmap类对象,或者是jpg、png、bmp、tiff、gif、pdf等格式文件,或者DataURL,html等格式。这些都是通过GeneratedBarcode类的方法来实现的。
GeneratedBarcode类是生成条形码和二维码的一个核心类,BarcodeWriteEngine的任何一个方法,无论是生成的条形码,还是QR二维码,都是返回GeneratedBarcode类型。您可以通过GeneratedBarcode类的方法调整后,进行导出和保存。

           if(textBox1.Text.Trim() == "")
{
MessageBox.Show("您没有填写内容,请填写符合您选择的条码格式要求的内容!");
return;
} //开始生成,主要就是传入生成条形码时以哪种编码格式类型,比如code128,以及要写入条形码的数据
GeneratedBarcode result = BarcodeWriteEngine.CreateBarcode(textBox1.Text.Trim(), (BarcodeEncoding)Enum.Parse(typeof(BarcodeEncoding), comboBox1.Items[comboBox1.SelectedIndex].ToString())); //设置大小
GeneratedBarcode resultSized = result.ResizeTo(result.Width, 200); //显示
pictureBox2.Image = resultSized.ToBitmap(); MessageBox.Show("下面开始为生成的图片添加注释文字");
GeneratedBarcode resultAfter = resultSized.AddBarcodeValueTextAboveBarcode(new Font("宋体", 14), Color.Black);
pictureBox2.Image = resultAfter.ToBitmap(); MessageBox.Show("下面开始保存为jpg图片");
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
resultAfter.SaveAsJpeg(saveFileDialog1.FileName); MessageBox.Show("已保存!");
}

程序运行结果如下图:

下载示例源码

点击下载源码

最新文章

  1. UINavigationController
  2. XSS之xssprotect(转)
  3. 编程之美读书笔记之 -寻找出现次数为1的ID的问题
  4. Python的包管理工具Pip (zz )
  5. 第29章 跨战区大PK
  6. 购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断
  7. Android中scrollview嵌套HorizontalScrollView卡顿现象解决
  8. Eclipse管理Java工程(j2se/j2ee/maven)
  9. TreeList用法(1)
  10. MDI窗体 的再度思考
  11. 【译】 AWK教程指南 10编写可与用户交互的AWK程序
  12. Java基础知识强化之IO流笔记62:三种方式实现键盘录入
  13. DRP分销系统总结
  14. 【第三篇】学习 android 事件总线androidEventbus之发布事件,子线程中接收
  15. CSS基础布局--居中对齐,左侧定宽右侧自适应
  16. CSS3的颜色渐变效果
  17. [Swift]LeetCode267.回文全排列 II $ Palindrome Permutation II
  18. swagger坑
  19. 剑指Offer (汇总)
  20. SpringBoot入门笔记(一)、HelloWorld

热门文章

  1. mybatis中的分页插件
  2. vnc服务器和windows2012密钥
  3. Win2003下安装PHP5.2.0+MySql5.0.27+PHPMyAdmin2.9.1的配置方法
  4. css 文本属性和字体属性
  5. eth0: ERROR while getting interface flags: No such device的解决方法、Linux怎么修改IP以及ping不通的处理方法
  6. linux下安装编译为安装的php扩展
  7. USACO Balanced Lineup
  8. 在分页中,删除操作后,AJAX重载刷新当前页
  9. 第03组 Beta版本演示
  10. AtCoder Grand Contest 036题解