官方介绍

  • 在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. Springboot启动报Multiple Dockets with the same group name are not supported. The following duplicate groups were discovered.

    解决方法: 属于bean重复,根据错误提示剔除多于的Bean引用!

  2. Oracle Data Provider for .NET Support for Microsoft .NET Core

    Oracle Data Provider for .NET Support for Microsoft .NET Core的官方地址,记录下来,按照官方描述,会在2017年底左右发布,暂时还没有看到相 ...

  3. 20155322 2017-2018-1《信息安全系统设计》第十周 课下作业-IPC

    20155322 2017-2018-1<信息安全系统设计>课下作业-IPC 作业内容 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接. 共享内存 管 ...

  4. #ifdef 支持Mac #ifndef 支持Windows #if defined (Q_OS_WIN) 应该可以再两个系统通用

    //mac qt可以运行 #ifdef Q_OS_MAC qDebug()<<QSysInfo::MacintoshVersion; #endif //Mac不运行 #ifndef Q_O ...

  5. OpenCV中Mat的属性

    OpenCV中Mat的属性 最近在做一OpenCV的图像轮廓检验,但当用到霍夫变换时才发现对Mat的属性了解不足.Mat在OpenCV中的地位是及其重要的,因此有必要做一个总结. 大体上来说,Mat是 ...

  6. cf 448c Painting Fence

    http://codeforces.com/problemset/problem/448/C 题目大意:给你一个栅栏,每次选一横排或竖排染色,求把全部染色的最少次数,一个点不能重复染色. 和这道题有点 ...

  7. Linux中新增硬盘的分区,格式化与挂载

    Linux中新增硬盘的分区,格式化与挂载 本篇教程内容为怎样对Linux新增硬盘进行挂载,所以如果有准备新增硬盘但是有各种问题的,请参看本篇教程. 我们先说说什么是挂载? 我们知道Linux中的所有设 ...

  8. Power Designer逆向工程导入Oracle表,转为模型加注释

    1.打开PowerDesigner ——文件——Reverse Engineer——DataBase 2.选择所要连接数据库版本,此处使用的是oracle version 11g. 3.点击红色区域, ...

  9. Pycharm主菜单学习

    “工欲善其事,必先利其器”,这话我一直是这么坚信的! 找到一款顺手称心的工具,拥有它,熟练地使用它! Pycharm据说就是使用Python的一款最好的工具—— 于是,开始了第一步的学习----先从熟 ...

  10. 【转】PHPCMS+PHPExcel实现后台数据导入导出功能

    首先,上图之中的红色框框是没有的,我们想要给他加上,当然是要改HTML页面啦,废话,我们跟ECSHOP一样由PHP路径找模板: 看看路由原理: 首先,上图之中的红色框框是没有的,我们想要给他加上,当然 ...