官方介绍

  • 在ASP.NET,Windows,Reporting Service,Crystal Reports 和 RDLC Reports应用程序中轻松生成条形码
  • 生成准确的条形码图像,并可以保存为 C# 和 VB.NET 类中的 JPEG,GIF 或 PNG 图像文件
  • 兼容 C# 和 VB.NET
  • 由 .NET 程序员广泛使用
  • 符合最新的条形码符号体系标准,如 ISO / IEC,GS1
  • 创建线性条形码,包括 Code39,Code128,GS1-128,Interleaved 2 of 5,EAN / UPC
  • 创建 2d 条形码图像,包括数据矩阵,PDF-417 和 QR 码

Nuget 安装

支持的类型

  类型很多,这里演示使用的是 TYPE.CODE128B。

    public enum TYPE
{
UNSPECIFIED = 0,
UPCA = 1,
UPCE = 2,
UPC_SUPPLEMENTAL_2DIGIT = 3,
UPC_SUPPLEMENTAL_5DIGIT = 4,
EAN13 = 5,
EAN8 = 6,
Interleaved2of5 = 7,
Standard2of5 = 8,
Industrial2of5 = 9,
CODE39 = 10,
CODE39Extended = 11,
CODE39_Mod43 = 12,
Codabar = 13,
PostNet = 14,
BOOKLAND = 15,
ISBN = 16,
JAN13 = 17,
MSI_Mod10 = 18,
MSI_2Mod10 = 19,
MSI_Mod11 = 20,
MSI_Mod11_Mod10 = 21,
Modified_Plessey = 22,
CODE11 = 23,
USD8 = 24,
UCC12 = 25,
UCC13 = 26,
LOGMARS = 27,
CODE128 = 28,
CODE128A = 29,
CODE128B = 30,
CODE128C = 31,
ITF14 = 32,
CODE93 = 33,
TELEPEN = 34,
FIM = 35,
PHARMACODE = 36
}

简单使用

  Barcode 是核心类,它拥有 3 个构造函数,并且它实现了 IDisposable 接口,所以我们应该使用 uisng 关键字在执行完毕后进行资源的释放。

        public Barcode();
public Barcode(string data);
public Barcode(string data, TYPE iType);

  Encode() 是用来进行编码操作的方法,调用完毕后会生成一张位图。

        public Image Encode(TYPE iType, string StringToEncode);
public Image Encode(TYPE iType, string StringToEncode, Color ForeColor, Color BackColor);
public Image Encode(TYPE iType, string StringToEncode, int Width, int Height);
public Image Encode(TYPE iType, string StringToEncode, Color ForeColor, Color BackColor, int Width, int Height);

  当然,它也自带了对应的保存到文件中的方法 SaveImage。

        public void SaveImage(string Filename, SaveTypes FileType);
public void SaveImage(Stream stream, SaveTypes FileType);

  默认支持保存的文件类型:

    public enum SaveTypes
{
JPG = 0,
BMP = 1,
PNG = 2,
GIF = 3,
TIFF = 4,
UNSPECIFIED = 5
}

  这是一个较为简单的用法:

        /// <summary>
/// 生成条形码
/// </summary>
/// <param name="content">内容</param>
/// <returns></returns>
public static Image GenerateBarCodeBitmap(string content)
{
using (var barcode = new Barcode()
{
IncludeLabel = true,
Alignment = AlignmentPositions.CENTER,
Width = 250,
Height = 100,
RotateFlipType = RotateFlipType.RotateNoneFlipNone,
BackColor = Color.White,
ForeColor = Color.Black,
})
{
return barcode.Encode(TYPE.CODE128B, content);
}
}

  【备注】我在 IncludeLabel 属性中对它进行了赋值 true 操作。如果不进行参数指定的话,就只能够生成条形码,而不会在底部显示数据。

条形码生成库 BarcodeLib的更多相关文章

  1. [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库

    BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...

  2. BarcodeLib -- 一个精简而不失优雅的条形码生成库

    BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...

  3. BarCode条形码生成库

    一.Barcode生成条形码的类库 二.示例 新建mvc空项目,添加Nuget引用 主要代码 // // GET: /Home/ public FileContentResult Index() { ...

  4. Java条形码生成技术-Barcode4j

    背景 目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别. 而用于生产环境的条形码技术仍然存在,如硬件设备制造.供应.物流运输等等. 在常见的产品信息管 ...

  5. js页码生成库,一个适合前后端分离的页码生成器

    原文:js页码生成库,一个适合前后端分离的页码生成器 前言 上星期写的任务里面有需要进行分页的处理,git搜索了一番,没有觉得合适的,于是自己临时写了个分页的算法. 然后等闲下来的时候,决定把分页进行 ...

  6. 二维码js生成库

    jr-qrcode 把字符串生成二维码,并以Base64 URL形式输出. 支持白色二维码,即反色二维码. 兼容性 插件使用了H5的canvas特性进行二维码绘制,最后输出base64 url,因此本 ...

  7. Jbarcode 条形码生成工具

    一.准备jar包 https://sourceforge.net/projects/jbcode/?source=typ_redirect 二.编写工具类 package com.example.de ...

  8. iOS二维码、条形码生成(可指定大小、颜色)

    一.前言: iOS7.0之后可以利用系统原生 API 生成二维码, iOS8.0之后可以生成条形码, 系统默认生成的颜色是黑色. 在这里, 利用以下方法可以生成指定大小.指定颜色的二维码和条形码, 还 ...

  9. Javascript 二维码生成库:QRCode

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. [Golang学习笔记] 08 链表

    链表(Linked list)是一种常见数据结构,但并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针. 由于不必须按顺序存储,链表在插入的时候可以达到O(1),比顺序表快得多,但是查 ...

  2. 20155202 实验四 Android开发基础

    20155202 实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

  3. 20155236 2016-2017-2《Java程序设计》课程总结

    20155236 2016-2017-2<Java程序设计>课程总结 作业链接汇总 预备作业1:对专业学习的展望,课程方面.师生关系的建议 预备作业2:在实践中学习,自己的相关经验以及C语 ...

  4. 20155316 2015-2017-2 《Java程序设计》第4周学习总结

    教材学习内容总结 继承 多态 重新定义 java.lang.object 垃圾收集机制 接口与多态 接口枚举常数 学习笔记存放(部分) 标准类 继承 static与权限修饰 [请勿转载,谢谢] 教材学 ...

  5. WPF使用IDataErrorInfo接口进行数据校验 - 简书

    原文:WPF使用IDataErrorInfo接口进行数据校验 - 简书 class ValidationBindableBase : BindableBase, IDataErrorInfo { pu ...

  6. 打豪车应用:uber详细攻略(附100元优步uber优惠码、uber优惠券、优步优惠码、优步优惠券)

    在嘀嘀打车和快的打车交战热闹的时候,美国的打车应用uber进入中国.与在美国以个人司机注册做 Uber 司机为主的模式不同,Uber 在中国采用与租车公司合作.由租车公司提供车辆和司机的模式,同时中文 ...

  7. Mysql 开启Federated引擎的方法

    原文参考:http://www.thinksaas.cn/topics/0/63/63532.html 进入mysql命令行,没有看到Federated,说明没有安装 mysql>show en ...

  8. 五、Django之路由系统

    1.普通路由匹配 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:它就是以这种方式告诉Django,用哪个URL调用 ...

  9. global中捕获异常

    前言:由于现在日志非常重要,但是在哪里打写日志比较好呢,我选择的是在global中,把错误代码网上抛,而不是在底层写大量的try catch然后在catch中来写日志,每个catch中的写日志这样就会 ...

  10. 深入理解C++中的Const,Mutable以及Volatile

    我一直认为const表示一个常量,常量就是一个无法被修改的值,但是没有深入理解const的实现,甚至不知道mutable和volatile的存在,最近在书中看到了这一部分的知识,所以本文将详细解析这几 ...