使用.NET处理条形码

 

在零售、仓储系统中经常会遇到对条形码的处理需求。大多说情况下,我们选择了购买第三方控件来完成条形码的操作处理。下面我给大家讲解一个条形码编码、绘制的.NET类库,为大家节约购买第三方控件的银子。(最初源代码是由Brad Barnhill 提供,我在此基础上作了超过50%以上的修改)

下面显示的是类关系的全貌:

 

1

l  BarcodeFacade类是条形码类库的对外接口, 所有的调用只能使用它提供的接口。

它提供了一下接口:

Ø  Encode :把传入的字符串编译成二进制编码,并返回。

Ø  Decode :把传入的二进制编码解析成员字符串,并返回

Ø  GetBarcodeImage :把传入的字符串编译成二进制编码后,返回条形码图片。

Ø  GetBarcodeImageWithLabel :把传入的字符串编译成二进制编码后,返回下方带有原字符串的图片。

Ø  GetImageData :把传入的字符串编译成二进制编码后,返回位图字节数组。

Ø  SaveImage :把生成的位图保存成文件(支持JPG, BMP, PNG, GIF, TIFF,)。


 

l  BarcodeType

Ø  枚举了所有支持的条形码:

UPCA,

UPCE,

UPC_SUPPLEMENTAL_2DIGIT,

UPC_SUPPLEMENTAL_5DIGIT,

EAN13,

EAN8,

Interleaved2of5,

Standard2of5,

Industrial2of5,

CODE39,

CODE39Extended,

Codabar,

PostNet,

BOOKLAND,

ISBN,

JAN13,

MSI_Mod10,

MSI_2Mod10,

MSI_Mod11,

MSI_Mod11_Mod10,

Modified_Plessey,

CODE11,

USD8,

UCC12,

UCC13,

LOGMARS,

CODE128,

CODE128A,

CODE128B,

CODE128C,

ITF14,

CODE93


 

l  AbstractBarcode

条形码的抽象类,所有的条形码类必须继承于AbstractBarcode 。它抽象了如下接口:

Ø  EncodedValue :二进制条形码

Ø  RawData :要编码的字符串

Ø  CheckNumericOnly 数字合法性检查

Ø  ClearObject :清理条形码类,一边多次利用

Ø  Decode :条形码反编码

Ø  Encode :编码成条形码

l  AbstractBarcodeImage

l  绘制条形码的抽象类。一般情况下,使用该类的虚方法就可以绘制出条形码图片。如果默认方法绘制的图片不能符合你的要求,请编写AbstractBarcodeImage的子类。该类抽象了以下接口:

Ø  Generate_Image :绘制条形码图片

Ø  GenerateImageWithLabel :返回带标签的条形码

Ø  Label_Generic :在条形码图片上绘制内容是原字符串的标签

 

看到这里,我相信你已经学会了,如何使用这个条形码类库了。但是这样可能仍旧满足不了你的好奇心,下面我以UPCA类为例讲解条形码编码的方法。

UPCA标准支持以下字符集:0123456789-$:/.+ABCDabcd 。其中英文字母不去分大小写,在本类库中,均被视为大写字母。另外UPCA条形码字串的开头和结尾必须是英文字母。

下面是编码对照表:

0

101010011

1

101011001

2

101001011

3

110010101

4

101101001

5

110101001

6

100101011

7

100101101

8

100110101

9

110100101

-

101001101

$

101100101

:

1101011011

/

1101101011

.

1101101101

+

101100110011

A(a)

1011001001

B(b)

1010010011

C(c)

1001001011

D(d)

1010011001

1

编码的时候,只需要把字符按照对照表作转换就可以了,然后还要在每个字符之间用一个数字 0 来连接。比如,A25D 编码后成了10110010010101001011011010100101010011001

怎么样,是不是很简单阿, 最后要说明的是,如何根据二进制条形码绘制图形。这个过程最容易理解,就一句话:遇到0的地方空白,遇到1时划线。 比如,上面的二进制条形码10110010010101001011011010100101010011001 别绘制成了:

 

OK, 关于条形码,说到这里。有兴趣的话,一起讨论哦。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Spire.BarCode for .Net 是一款专业的免费条形码组件,专为.Net(C#, VB.NET, ASP.NET)开发人员设计,用于生成和读取一维和二维条形码使用Spire.BarCode,开发编程人员可以迅速轻松地为.Net应用软件(ASP.NET, WinForms and Web Service)嵌入企业级的条形码功能。 Spire.BarCode提供了一个非常简单的方法来集成条形码处理功能。一行代码就可以生成、读取一维和二维条形码。Spire.BarCode支持包括Bitmap, JPG, PNG, EMF, TIFF, GIF and WMF等众多常用的图片格式。 主要功能: 1.强大的一维、二维条形码识别和生成功能 支持常用的线性条形码,二维条形码,邮政条形码,能从任何方向检测这些条形码。 2.高效生成和读取条形码图像 开发人员可根据需求创建Bitmap, JPG, PNG, EMF, TIFF, GIF and WMF等格式的条形码图像。 3.支持读取和编辑条形码,性能优越 开发人员可轻松地设置条形码图像的边框类型,边框颜色,样式,边距和宽度。同时,可以按任何角度旋转并生成高质量的条形码图像。 4.整合便捷 Spire.BarCode for .Net 可以被集成到任何.Net应用程序,操作简单。有两种集成模式:API模式和组件模式  1) API模式仅使用一行代码即可创建和识别条形码  2) 组件模式使用可视化方式来创建条形码,随后将Spire.BarCode组件拖入.Net Windows或 ASP.NET Form。 无需其他代码。 5.支持30多种不同类型的条形码。 友情提示:Spire.BarCode本身免费,如需商用或需去除E-iceblue的logo,请至http://www.e-iceblue.com/Download/download-barcode-for-net-now.html查看获得Key的方式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值