使用 IRONBARCODE

在 VB.NET 中創建條碼掃描器教學

喬迪·巴迪亞
喬迪·巴迪亞
2024年3月26日
分享:

條碼 是一種功能強大的方法,可將資料表示為可見且電腦可讀的格式。 在本教程中,我們將探討如何在 Visual Basic 中使用 IronBarcode 生成和讀取條碼。 IronBarcode 提供強大且高效的解決方案,無論您是在建立庫存管理系統、銷售點應用程式,或是任何其他涉及 VB.NET 條碼讀取處理的專案。

IronBarcode 是一個功能強大的 C# 庫,可以無縫整合到 VB.NET (Visual Basic) 專案中。 它提供了強大的功能來讀取和寫入條碼影像,對於使用 VB.NET 條碼讀取元件應用程式的開發者來說,是一個很好的選擇。 本指南將涵蓋閱讀條碼的基礎、配置選項,以及在單次掃描中處理多個條碼的內容。

如何在 VB.NET 中讀取條碼?

  1. 安裝IronBarcode Library

  2. 使用 Read() 方法從文件中讀取條碼掃描器圖像。

  3. 使用 ReadPdf() 方法從 PDF 中讀取條碼圖片。

如何在 VB.NET 中生成條碼?

  1. 安裝 IronBarcode 程式庫

  2. 使用指定的條碼編碼,透過CreateBarcode()方法生成一個條碼

  3. 將條碼保存為圖像或PDF

IronBarcode 介紹

IronBarcode 是一個強大的 C# 條碼庫,讓在 .NET 應用程式中處理條碼變得更加簡單。 無論您需要創建條碼還是讀取現有條碼,IronBarcode 都提供了直觀高效的解決方案。

以下是 IronBarcode 的一些主要功能和使用案例:

條碼生成:IronBarcode 允許開發者輕鬆生成各種類型的條碼,包括 1D 條碼如 Code 39、Code 128 和 UPC,以及 2D 條碼如 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)
     ' And save our barcode as an image:
     myBarcode.SaveAsImage("myCode128Barcode.jpeg")
 End Sub
Sub Main(args As String())
     Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
     ' And save our 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 庫提供了不同文件格式的多種方法。 您可以根據您的需求使用像是 SaveAsHtmlFile、SaveAsPDF、SaveAsTiff、SaveAsPng 等方法。 例如,如果您想將條碼保存為 HTML 文件,您可以將 SaveAsImage 行替換為 myBarcode.SaveAsHtmlFile("myCode128Barcode.html")。 同樣地,對於其他格式,您可以使用相應的方法,提供所需的檔案名稱和擴展名。 這種靈活性使得生成的條碼能夠適應不同的文件格式,以滿足特定應用需求。

生成的條碼圖片如下:

在 VB.NET 中創建條碼掃描器教學:圖 3 - 生成條碼輸出

調整大小和儲存

創建條碼後,您可以輕鬆調整其大小。 以下程式碼將最大寬度設置為650像素,最大高度設置為300像素。

Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
 myBarcode.ResizeTo(650, 300)
 ' And save our barcode as an image:
 myBarcode.SaveAsImage("myCode128Barcode.jpeg")
Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
 myBarcode.ResizeTo(650, 300)
 ' And save our 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函式庫來從圖像檔案 "myCode128Barcode.jpeg" 中讀取條碼數據。BarcodeReader.Read方法提取條碼資訊,並使用迴圈來遍歷結果。 然後使用 Console.WriteLine 將條碼值列印至控制台。

此外,您還可以從各種來源(如位圖、AnyBitmaps、影像檔案和流)掃描條碼數據。 這些選項在處理來自不同輸入格式的條碼數據時提供了靈活性,從傳統的圖像文件如 BMP 和 JPG 到更通用的表示形式如 AnyBitmaps 和流。 在這之中,我們可以開發我們自己的 .NET 條碼讀取器,它會讀取條碼並返回結果。

輸出為:

輸出

在 VB.NET 中創建條碼掃描器教程:圖 5 - 條碼閃爍輸出

將進階選項新增到條碼掃描器

我們可以在條碼掃描器中添加更高級的功能,例如使用BarcodeReaderOptions進行自訂條碼掃描。 設置參數,例如:

  1. 閱讀速度(快速、平衡、詳細、極致詳細)。

  2. 是否期望多於 1 個條碼。

  3. 要掃描的特定條碼類型。

  4. 多執行緒並行處理。

  5. 裁剪區域以聚焦於圖像的相關部分。

    我們將讀取包含三個不同條碼圖像的以下 PDF 文件。

    在 VB.NET 中創建條碼掃描器教程:圖 6 - 條碼輸入

    以下代碼將為我們的 VB.NET 條碼閱讀器添加高級功能。

Sub Main(args As String())
        Dim resultFromPdf = BarcodeReader.ReadPdf("Barcode.pdf") ' 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") ' 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 文件 "Barcode.pdf" 中掃描條碼。BarcodeReader.ReadPdf 方法從 PDF 中提取條碼信息,並使用迴圈來遍歷結果。 此外,程式碼引入了一個 BarcodeReaderOptions 物件 myOptionsExample,這個物件配置了多種設定,比如讀取速度、期望多個條碼、接受所有一維條碼類型、啟用多線程以最多平行兩個執行緒方式運行、指定裁剪區域,並使用 Code 39 擴展模式。 這些選項展示了IronBarcode庫在根據特定需求和環境考量定制條碼讀取過程方面的靈活性。 然後將條碼值打印到控制台,提供有關從 PDF 文件解碼數據的見解。

輸出為:

在 VB.NET 中創建條碼掃描器教程:圖7 - 條碼值輸出

這樣,我們可以建立我們自己的 .NET 條碼掃描器 dll。

結論

總結,本教程演示了如何使用 IronBarcode 庫在 VB.NET 中創建條碼掃描器和生成器。 IronBarcode 提供了一個強大的解決方案來處理條碼相關任務,無論是生成購買選項,這使其成為將條碼功能整合到 VB.NET 專案中的靈活且可訪問的工具。

喬迪·巴迪亞
軟體工程師
Jordi 最擅長 Python、C# 和 C++,當他不在 Iron Software 發揮技能時,他會進行遊戲編程。他負責產品測試、產品開發和研究,為持續產品改進增添了巨大的價值。多樣化的經驗使他感到挑戰和投入,他說這是與 Iron Software 合作的最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,並在佛羅里達大學學習計算機科學和統計學。
< 上一頁
如何使用C#在Crystal Reports中添加條碼
下一個 >
如何在C#中打印條形碼