c#条形码的创建与读取

使用ZXing.Net(一个基于ZXing的原生C#条码库)生成和读取条形码是一个相对直接的过程。

下面我将详细介绍如何在使用.NET框架的环境下完成这一任务。

1. 安装ZXing.Net
首先,你需要在你的项目中安装ZXing.Net库。你可以通过NuGet包管理器来安装。在Visual Studio中,你可以通过以下步骤来安装:

打开你的项目。
转到“工具” -> “NuGet包管理器” -> “管理解决方案的NuGet程序包”。
搜索ZXing.Net,找到它,然后点击“安装”。
2. 生成条形码
以下是一个简单的示例,展示如何生成一个条形码

using System;
using System.Drawing;
using ZXing;
using ZXing.Common;

class Program
{
    static void Main(string[] args)
    {
        // 创建条形码写入器,这里以Code128为例
        var writer = new BarcodeWriter
        {
            Format = BarcodeFormat.CODE_128,//CODE_128条形码之意
            Options = new EncodingOptions
            {
                Height = 100,
                Width = 200,
                PureBarcode = false  // 如果需要纯色条形码,设置为true
            }
        };

        // 要编码的文本
        string textToEncode = "123456789";

        // 生成条形码图片
        Bitmap barcodeBitmap = writer.Write(textToEncode);

        // 保存图片到文件(可选)
        barcodeBitmap.Save("barcode.png", System.Drawing.Imaging.ImageFormat.Png);
    }
}

  

3. 读取条形码

接下来,我们将展示如何读取之前生成的条形码:

using System;
using System.Drawing;
using ZXing;

class Program
{
    static void Main(string[] args)
    {
        // 加载条形码图片
        Bitmap barcodeImage = new Bitmap("barcode.png");

        // 创建条形码读取器
        var reader = new BarcodeReader();
        var result = reader.Decode(barcodeImage);

        // 检查是否成功读取条形码并输出结果
        if (result != null)
        {
            Console.WriteLine("条形码内容: " + result.Text);
        }
        else
        {
            Console.WriteLine("未找到条形码");
        }
    }
}

注意事项:
确保你的项目中引用了System.Drawing库,因为Bitmap类属于这个命名空间。

如果你的项目是.NET Core或.NET 5/6/7,你可能需要安装System.Drawing.Common包。在NuGet中搜索并安装它。
在读取条形码时,确保图片清晰且条形码没有被损坏或扭曲。否则,可能会影响读取结果。
根据需要选择合适的条形码格式(如CODE_39, CODE_128, EAN_13等)。不同的格式适用于不同的应用场景。
通过上述步骤,你应该能够在你的C#应用程序中成功生成和读取条形码。

posted @ 2026-06-16 20:43  techNote  阅读(7)  评论(0)    收藏  举报