跳至页脚内容
USING IRONBARCODE

Creating a Barcode Scanner in VB.NET Tutorial

条形码是一种以可见、计算机可读格式表示数据的强大手段。 在本教程中,我们将探讨如何使用 Visual Basic 中的IronBarcode生成和读取条形码。 无论您是构建库存管理系统、销售点应用程序,还是任何其他涉及 VB.NET 条形码阅读器处理的项目,IronBarcode 都能提供强大而高效的解决方案。

IronBarcode 是一个功能强大的 C# 库,可以与 VB.NET (Visual Basic) 项目无缝集成。 它为读取和写入条形码图像提供了强大的功能,使其成为使用 VB.NET 条形码读取器组件应用程序的开发人员的绝佳选择。 This guide will cover the basics of reading barcodes, configuring options, and handling multiple barcodes in a single scan.

如何在VB.NET中读取条形码?

  1. 安装IronBarcode 库
  2. 使用Read()方法从文件中读取条形码扫描器图像。
  3. 使用ReadPdf()方法从 PDF 中读取条形码图像。

如何在VB.NET中生成条形码?

  1. 安装 IronBarcode 库。
  2. 使用CreateBarcode()方法和指定的条形码编码创建条形码。
  3. 将条形码保存为图像或 PDF 文件。

IronBarcode 简介

IronBarcode是一个功能强大的 C# 条形码库,可简化在 .NET 应用程序中使用条形码的操作。 无论您需要创建条形码还是读取现有条形码,IronBarcode 都能提供直观高效的解决方案。

以下是IronBarcode的一些主要特性和应用案例:

条形码生成: IronBarcode 允许开发人员轻松生成各种类型的条形码,包括 Code 39、Code 128 和 UPC 等一维条形码,以及 QR 码和 Data Matrix 等二维条形码。

条形码读取:该库包含从图像PDF其他来源读取条形码的功能。 对于需要处理扫描文档或相机拍摄图像中的条形码值的应用程序来说,这可能很有用。

编码和解码: IronBarcode 支持条形码值的编码和解码,使开发人员能够以编程方式操作条形码扫描信息。

支持的条码类型: IronBarcode 支持多种条码符号体系,使其能够灵活满足不同的应用需求。

易用性:该库的设计旨在方便用户使用,并易于集成到 .NET 应用程序中。 它提供全面的文档示例,以帮助开发人员实现与条形码相关的功能。

开始

第一步是打开或创建一个新项目。 项目可以是任何类型的。 同一段代码适用于所有项目类型。下一步是将 IronBarcode 库安装到我们的项目中。

安装 IronBarcode NuGet 包

您可以使用程序包管理器控制台安装 IronBarcode NuGet 程序包。 请输入以下命令:

Install-Package BarCode

VB.NET 条形码扫描器创建教程:图 1 - VB.NET 读取条形码扫描器

上述命令将下载并安装 IronBarcode 库及其所有必要的依赖项。

或者,您也可以通过浏览来从解决方案的 NuGet 包管理器中下载它。

在 VB.NET 中创建条形码扫描器教程:图 2 - IronBarcode

接下来,我们将使用 VB.NET 生成条形码图像。

生成条形码图像

创建条形码很简单。 您可以使用BarcodeWriter类生成各种类型的条形码。 得到条形码后,我们可以将其保存为图像。 条形码图像可以作为图像访问,也可以转换为位图。我们将创建一个简单的 Code128 条形码,其值为"0987654ABCD0987654"。 具体操作方法如下:

Sub Main(args As String())
    Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
    ' Save the barcode as an image
    myBarcode.SaveAsImage("myCode128Barcode.jpeg")
End Sub
Sub Main(args As String())
    Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
    ' Save the barcode as an image
    myBarcode.SaveAsImage("myCode128Barcode.jpeg")
End Sub
VB .NET

上面的代码片段利用 IronBarcode 库生成数据为"0987654ABCD0987654"的 Code 128 条形码。 使用BarcodeWriter.CreateBarcode方法,并指定 Code128 编码。 随后,使用SaveAsImage方法将创建的条形码保存为名为"myCode128Barcode.jpeg"的 JPEG 图像文件。 通过更改BarcodeWriterEncoding参数,可以根据具体需求灵活选择不同的条形码符号体系,IronBarcode 库提供了 EAN13、EAN8、Code Bar、MSI、ITF、PDF417、QR 码或 Data Matrix 码等选项。

如果您希望将生成的条形码保存为 JPEG 以外的格式,IronBarcode 库提供了针对不同文件格式的各种方法。 您可以根据需要使用SaveAsHtmlFileSaveAsPDFSaveAsTiffSaveAsPng等方法。 例如,如果您想将条形码保存为 HTML 文件,可以将SaveAsImage行替换为myBarcode.SaveAsHtmlFile("myCode128Barcode.html") 。 同样地,对于其他格式,您可以使用相应的方法,提供所需的文件名和扩展名。 这种灵活性使得生成的条形码能够适应不同的文件格式,以满足特定的应用需求。

生成的条形码图像如下:

在 VB.NET 中创建条形码扫描器教程:图 3 - 生成条形码输出

调整大小和保存

创建条形码后,您可以轻松调整其大小。 以下代码会将它的最大宽度设置为 650 像素,最大高度设置为 300 像素。

Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(650, 300)
' Save the resized barcode as an image
myBarcode.SaveAsImage("myCode128Barcode.jpeg")
Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(650, 300)
' Save the resized barcode as an image
myBarcode.SaveAsImage("myCode128Barcode.jpeg")
VB .NET

ResizeTo方法用于调整条形码图像的大小。 在提供的示例中, myBarcode.ResizeTo(650, 300)应用于myBarcode对象,这表明条形码图像正在被调整为宽度为 650 像素,高度为 300 像素。

当您需要调整生成的条形码图像的尺寸以满足特定要求,或确保其在给定的布局或显示区域内合适时,此方法非常有用。 在需要控制条形码的视觉呈现方式(例如尺寸)而不改变编码数据的情况下,调整条形码大小可能很有用。

译文如下

在 VB.NET 中创建条形码扫描器教程:图 4 - 调整条形码输出大小

条形码阅读器

IronBarcode 让读取条形码变得简单。 您可以从不同来源提取条形码值:

  1. 从文件中读取。
  2. 来自位图对象。
  3. 从图像文件中。
  4. 从 PDF 文件(使用ReadPdf )读取。
  5. 来自内存流。

以下代码将扫描条形码图像,并在控制台中打印其值。

Sub Main(args As String())
    Dim resultFromImage = BarcodeReader.Read("myCode128Barcode.jpeg") ' Scan barcodes
    For i As Integer = 0 To resultFromImage.Count - 1
        Console.WriteLine("Barcode Value: {0}", resultFromImage(i))
    Next i
End Sub
Sub Main(args As String())
    Dim resultFromImage = BarcodeReader.Read("myCode128Barcode.jpeg") ' Scan barcodes
    For i As Integer = 0 To resultFromImage.Count - 1
        Console.WriteLine("Barcode Value: {0}", resultFromImage(i))
    Next i
End Sub
VB .NET

上述代码利用 IronBarcode 库从图像文件" BarcodeReader.Read "中读取条形码数据。BarcodeReader.Read 方法提取条形码信息,并使用循环遍历结果。 然后使用Console.WriteLine将条形码值打印到控制台。

此外,您还可以扫描来自各种来源的条形码数据,例如位图、AnyBitmaps、图像文件和流。 这些选项可以灵活地处理来自不同输入格式的条形码数据,从传统的图像文件(如 BMP 和 JPG)到更通用的表示形式(如 AnyBitmaps 和流)。 有了它,我们就可以开发我们自己的 .NET 条形码读取器,它可以读取条形码并返回结果。

输出结果显示如下:

输出

在 VB.NET 中创建条形码扫描器教程:图 5 - 条形码读取器输出

为条形码扫描器添加高级选项

我们可以为条形码扫描器添加更多高级功能,例如使用BarcodeReaderOptions自定义条形码扫描。 设置参数,例如:

  1. 阅读速度(快速、均衡、详细、极致详细)。
  2. 是否预期会有多个条形码。
  3. 要扫描的特定条形码类型。
  4. 多线程并行处理。
  5. 裁剪区域,突出图像的相关部分。

我们将读取以下包含三个不同条形码图像的 PDF 文件。

在 VB.NET 中创建条形码扫描器教程:图 6 - 条形码输入

以下代码将为我们的 VB.NET 条形码阅读器添加高级功能。

Sub Main(args As String())
    Dim resultFromPdf = BarcodeReader.ReadPdf("Barcode.pdf") ' Scan barcodes from a PDF
    Dim myOptionsExample As New BarcodeReaderOptions() With {
        .Speed = ReadingSpeed.Balanced,
        .ExpectMultipleBarcodes = True,
        .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        .Multithreaded = True,
        .MaxParallelThreads = 2,
        .CropArea = New System.Drawing.Rectangle(),
        .UseCode39ExtendedMode = True
    }
    For i As Integer = 0 To resultFromPdf.Count - 1
        Console.WriteLine("Barcode Value - {0} = {1}", i, resultFromPdf(i))
    Next i
End Sub
Sub Main(args As String())
    Dim resultFromPdf = BarcodeReader.ReadPdf("Barcode.pdf") ' Scan barcodes from a PDF
    Dim myOptionsExample As New BarcodeReaderOptions() With {
        .Speed = ReadingSpeed.Balanced,
        .ExpectMultipleBarcodes = True,
        .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        .Multithreaded = True,
        .MaxParallelThreads = 2,
        .CropArea = New System.Drawing.Rectangle(),
        .UseCode39ExtendedMode = True
    }
    For i As Integer = 0 To resultFromPdf.Count - 1
        Console.WriteLine("Barcode Value - {0} = {1}", i, resultFromPdf(i))
    Next i
End Sub
VB .NET

上述代码扫描 PDF 文件" BarcodeReader.ReadPdf "中的条形码。BarcodeReader.ReadPdf 方法从 PDF 中提取条形码信息,并使用循环遍历结果。 此外,该代码还引入了BarcodeReaderOptions对象myOptionsExample ,配置了各种设置,例如读取速度、对多个条形码的期望、接受所有一维条形码类型、启用最多两个并行线程的多线程、指定裁剪区域以及使用 Code 39 扩展模式。 这些选项体现了 IronBarcode 库的灵活性,可以根据具体要求和环境因素定制条形码读取过程。 然后将条形码值打印到控制台,从而提供有关从 PDF 文件解码的数据的见解。

输出结果显示如下:

在 VB.NET 中创建条形码扫描器教程:图 7 - 条形码值输出

这样,我们就可以创建自己的 .NET 条形码扫描器 DLL。

结论

总之,本教程演示了如何使用 IronBarcode 库在 VB.NET 中创建条形码扫描器和生成器。 IronBarcode 为处理条形码相关任务提供了强大的解决方案,无论是生成购买选项,还是将条形码功能集成到 VB.NET 项目中,它都是一个灵活且易于使用的工具。

常见问题解答

我该如何在 VB.NET 中从图像中读取条码?

要在 VB.NET 中从图像中读取条码,可以使用 IronBarcode 库。首先,安装 IronBarcode,然后使用 Read() 方法从图像文件中提取条码数据。

在 VB.NET 中有哪些方法可以从 PDF 中读取条码?

可以通过使用 IronBarcode 的 ReadPdf() 方法在 VB.NET 中从 PDF 文件中读取条码。这允许直接从 PDF 文件中提取条码信息。

使用 IronBarcode 在 VB.NET 中生成条码有哪些优势?

IronBarcode 提供了一个简单的 API 来在 VB.NET 中生成条码。可以使用 CreateBarcode() 方法生成各种格式的条码,如 JPEG、PDF 和 HTML,并支持多种条码类型。

我如何在 VB.NET 中处理单次扫描中多个条码?

要在 VB.NET 中处理单次扫描中的多个条码,可以在 IronBarcode 中配置 BarcodeReaderOptions,启用 ExpectMultipleBarcodes 选项,以便在一次扫描中检测多个条码。

在 VB.NET 中条码扫描有哪些高级配置选项?

IronBarcode 通过 BarcodeReaderOptions 提供高级配置选项,允许您调整读取速度,指定预期的条码类型,启用多线程,并定义特定的裁剪区域以进行目标扫描。

我如何在 VB.NET 中调整条码图像的大小?

在 VB.NET 中,可以使用 IronBarcode 的 ResizeTo 方法调整条码图像的大小,指定条码图像的最大宽度和高度。

如何在 VB.NET 中以不同格式保存条码?

在 VB.NET 中使用 IronBarcode,可以以 JPEG、PDF、HTML、TIFF 和 PNG 等多种格式保存条码。这种灵活性允许轻松集成到不同的系统和应用程序中。

构建 VB.NET 条码扫描器应用程序需要什么?

要构建 VB.NET 条码扫描器应用程序,首先安装 IronBarcode 库。然后,利用 BarcodeReader 方法扫描并提取来自图像或 PDF 的数据,并使用 BarcodeReaderOptions 的选项自定义扫描过程。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。