大家好,我是深山踏红叶,今天我们来介绍一个dotnet平台的一个条形码生成库。 BarcodeLib 是一个开源的 C# 库,此库旨在为开发人员提供一个简单的类,供开发人员在需要从一串数据生成条形码图像时使用。支持生成多种类型的条形码,如 Code39、EAN13 等。
安装
Install-Package BarcodeLib
该库有三个构造函数
Barcode();
Barcode(string);
Barcode(string, Type);
生成 条形码
using System;
using BarcodeStandard;
using SkiaSharp;
using static System.Net.Mime.MediaTypeNames;
var b = new Barcode();
b.IncludeLabel = true;
var img = b.Encode(BarcodeStandard.Type.UpcA, "038000356216",
SKColors.Black, SKColors.White, 290, 120);
// 设置保存路径
string outputPath = "output_barcode.png";
// 保存为 PNG 格式
using (SKData encoded = img.Encode())
{
using (var stream = System.IO.File.OpenWrite(outputPath))
{
encoded.SaveTo(stream);
}
}
支持的条形码类型
- Unspecified:未指定的条形码类型,通常在不确定条形码类型时使用。
- UpcA:UPC-A(Universal Product Code-A)是美国和加拿大使用的一种标准12位数字条形码,广泛应用于零售产品。
- UpcE:UPC-E 是一种简化的 UPC-A 类型,通常用于空间有限的地方,压缩成 6 位。
- UpcSupplemental2Digit:UPC 补充码 2 位,用于扩展 UPC-A 或 UPC-E 格式,通常用于附加的产品信息(如季节性变动)。
- UpcSupplemental5Digit:UPC 补充码 5 位,提供比 2 位更多的附加信息。
- Ean13:EAN-13 是一种 13 位数字条形码,广泛用于国际零售商品,特别是在欧洲。
- Ean8:EAN-8 是一种 8 位数字条形码,适用于空间有限的商品。
- Interleaved2Of5:交错 2/5 条形码,是一种数字条形码,常用于仓库和物流中,包含偶数位和奇数位的编码。
- Interleaved2Of5Mod10:与标准的 Interleaved 2/5 类似,但使用模 10 校验码(通常用于错误检测)。
- Standard2Of5:标准 2/5 条形码,是一种数字条形码,最常用于工业应用。
- Standard2Of5Mod10:标准 2/5 条形码,带有模 10 校验码,用于增加可靠性。
- Industrial2Of5:工业 2/5 条形码,类似于标准 2/5,常用于工业和仓储管理。
- Industrial2Of5Mod10:与工业 2/5 相似,带有模 10 校验码。
- Code39:Code 39 是一种广泛使用的条形码,能够编码字母、数字和一些符号,常用于非零售环境。
- Code39Extended:Code 39 扩展版本,可以编码更多字符,比 Code 39 支持更多的字符集。
- Code39Mod43:Code 39 的变体,使用 Mod 43 校验码(通过所有字符的加权值)。
- Codabar:Codabar 是一种适用于医学、实验室和图书馆等环境的条形码类型。
- PostNet:PostNet 是美国邮政服务的条形码,通常用于邮寄和邮件跟踪。
- Bookland:Bookland 是 ISBN(国际标准书号)的条形码版本,用于标识书籍。
- Isbn:ISBN(International Standard Book Number)是用于图书的标识,通常使用 13 位 EAN 格式。
- Jan13:JAN-13 是日本的 13 位条形码,与 EAN-13 类似,专用于日本的零售商品。
- MsiMod10:MSI Mod 10 是一种用于零售和物流管理的条形码,使用 10 位校验码。
- Msi2Mod10:MSI 2 Mod 10 是 MSI 条形码的变体,使用 2 位模 10 校验码。
- MsiMod11:MSI Mod 11 是 MSI 条形码的一种变体,使用 11 位校验码。
- MsiMod11Mod10:MSI Mod 11 Mod 10 是 MSI 条形码的一个改进版本,采用同时使用模 11 和模 10 校验码。
- ModifiedPlessey:Modified Plessey 是 Plessey 条形码的一种修改版,常用于库存管理和工业应用。
- Code11:Code 11 是一种仅包含数字的条形码,用于工业和邮政编码。
- Usd8:USD-8 是用于编码 8 位数字的条形码,常见于美国和其他一些国家的零售商品。
- Ucc12:UCC-12 是 12 位数字的条形码,通常用于标识商业商品。
- Ucc13:UCC-13 是 13 位数字的条形码,类似于 EAN-13,但在美国零售商中更常见。
- Logmars:LOGMARS(Logistics Marker)是一种条形码,主要用于军事物资管理。
- Code128:Code 128 是一种高密度条形码,能表示所有 128 个 ASCII 字符,包括数字、字母和符号。
- Code128A:Code 128 A 是 Code 128 的一种子集,能够表示标准 ASCII 字符,包括控制字符。
- Code128B:Code 128 B 是 Code 128 的子集,支持 ASCII 字符集中的大部分字符,特别是字母和数字。
- Code128C:Code 128 C 是 Code 128 的另一子集,专门用于高效编码数字对(如 00-99)并提高密度。
- Itf14:ITF-14 是一种条形码,用于表示14位的数字,常用于包装和分销产品的物流。
- Code93:Code 93 是 Code 39 的扩展版本,能够更有效地编码所有 ASCII 字符。
- Telepen:Telepen 是一种条形码,支持字母、数字和特殊字符,广泛用于物流和跟踪系统。
- Fim:Fim(Facing Identification Mark)条形码用于邮件和邮政处理。
- Pharmacode:Pharmacode 是一种用于药品包装的条形码,特别是用于药品追踪和管理。
- IATA2of5:IATA 2 of 5 是航空公司用的条形码,用于标识航班信息。
总结
以上是使用 BarcodeLib 库在 C# 中生成条形码的基本方法。你可以选择不同的条形码类型,非常适合快速生成条形码。
欢迎关注我的公众号“Net分享”,技术文章第一时间推送,随缘更新 , 分享一些你可能注意不到的细节