跳過到頁腳內容
使用IRONBARCODE

如何在C# Windows應用程式中打印條碼

1.0 簡介

通過使用條碼,以可見、機器可讀的格式呈現數據的一種方法。 起初,條碼中的平行線以不同的間距、寬度和尺寸來表示數據。 這些現代的線性或一維 (1D) 條碼可以由專門的光學掃描儀(稱為條碼讀取器)讀取,這些讀取器有多種形式。 後來,人們創造了二維 (2D) 變體,即矩陣碼或二維條碼,儘管它們實際上並沒有使用條狀。 這些變體使用矩形、點、六邊形和其他圖案來取代傳統的條碼。 專門設計來讀取二維條碼的二維光學掃描儀有多種配置可選。 另一種讀取二維條碼的方法是通過將數碼相機連接到運行特定軟件的計算機,該軟件拍照並使用圖像解碼。 最後一種二維條碼掃描儀可以由配備相機的移動設備(如智能手機)使用,通過安裝特定的應用程序軟件來實現。

2.0 IronBarcode特點

使用IronBarcode的條碼庫,可以輕鬆生成動態條碼。 這個簡單的庫只需幾行代碼即可生成條碼。 IronBarcode的條碼讀取器包含強大的條碼生成器,使其能夠生成高質量的條碼。 這讓條碼掃描儀讀取您的條碼變得簡單。

  • IronBarcode可以讀寫大多數條碼格式和QR標準,包括UPC A/E、Databar、EAN 8/13、MSI、Code 39/93/128、CodaB、RSS 14/Expanded和ITF。
  • 在讀取掃描和實時視頻幀時,IronBarcode可以校正旋轉、噪音、失真和傾斜。 在生成條碼時,IronBarcode自動預處理條碼圖片以提高讀取速度和精確性。 動態條碼很受歡迎,因為它們能夠進行內容修改。
  • IronBarcode可以利用多核和多線程,這對於批量處理服務器很有幫助。
  • 在單頁和多頁文檔中,IronBarcode可以自動找到一個或多個條碼。
  • IronBarcode支持32位和64位架構,並兼容.NET Framework和.NET Core實現。
  • IronBarcode支持PC和移動平台上的控制台、桌面、雲端和在線應用程序。
  • IronBarcode可以為多種文件和流類型創建條碼圖片,包括PDF、JPG、TIFF、GIF、BMP、PNG和HTML。

3.0 在Visual Studio中創建新項目

要使用IronBarcode框架,必須先創建一個Visual Studio .NET項目。 可以使用任何版本的Visual Studio,但建議使用最新版本。 根據您的需要,您可以創建一個.NET Windows Forms應用程序,或從多種項目模板中選擇。 在這一課中,我們將使用Windows Forms應用程序以簡化操作。

如何在C# Windows應用程序中打印條碼 圖1 - Windows Forms App

輸入項目的名稱和位置。

如何在C# Windows應用程序中打印條碼 圖2

在此項目中將使用.NET Framework 4.7。

如何在C# Windows應用程序中打印條碼 圖3 - Form1應用程序

創建項目後,Form1.cs文件將在設計器視圖中開啟。 您可以插入程序代碼,設計用戶界面,並構建/運行程序。 要在解決方案中使用IronBarcode庫,需要下載所需的包。 這可以通過在包管理器控制台中使用以下代碼來完成:

Install-Package BarCode

如何在C# Windows應用程序中打印條碼 圖4 - 安裝條碼包

或者,您可以使用NuGet包管理器搜索並下載"Barcode"包,這將列出所有搜索結果。 從那裡,您可以選擇下載所需的包。

如何在C# Windows應用程序中打印條碼 圖5 - NuGet 包管理器

在我們的表單中,我們設置了一個SaveFileDialog框,允許我們將生成的條碼圖片保存到選定的位置。

4.0 使用IronBarcode生成條碼

IronBarcode庫讓我們只需幾行代碼即可快速生成條碼。 以下是使用Windows Form生成條碼標籤的示例代碼:

using IronBarCode;  // Import IronBarcode namespace for barcode generation
using System;
using System.Windows.Forms;  // For creating Windows Forms applications

namespace IronBarcode_demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();  // Initializes the form components
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                saveFileDialog1.Filter = ".png|*.png";  // Set file filter for saving as PNG
                DialogResult result = saveFileDialog1.ShowDialog();  // Show save file dialog
                if (result == DialogResult.OK)
                {
                    string filename = saveFileDialog1.FileName;  // Get the filename chosen by the user
                    // Create a QR code using data from textBox1, and save it as a PNG
                    QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename);
                    MessageBox.Show("Barcode Generated Successfully");  // Inform user of success
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);  // Display error message in case of exception
            }
        }
    }
}
using IronBarCode;  // Import IronBarcode namespace for barcode generation
using System;
using System.Windows.Forms;  // For creating Windows Forms applications

namespace IronBarcode_demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();  // Initializes the form components
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                saveFileDialog1.Filter = ".png|*.png";  // Set file filter for saving as PNG
                DialogResult result = saveFileDialog1.ShowDialog();  // Show save file dialog
                if (result == DialogResult.OK)
                {
                    string filename = saveFileDialog1.FileName;  // Get the filename chosen by the user
                    // Create a QR code using data from textBox1, and save it as a PNG
                    QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename);
                    MessageBox.Show("Barcode Generated Successfully");  // Inform user of success
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);  // Display error message in case of exception
            }
        }
    }
}
Imports IronBarCode ' Import IronBarcode namespace for barcode generation
Imports System
Imports System.Windows.Forms ' For creating Windows Forms applications

Namespace IronBarcode_demo
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent() ' Initializes the form components
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			Try
				saveFileDialog1.Filter = ".png|*.png" ' Set file filter for saving as PNG
				Dim result As DialogResult = saveFileDialog1.ShowDialog() ' Show save file dialog
				If result = System.Windows.Forms.DialogResult.OK Then
					Dim filename As String = saveFileDialog1.FileName ' Get the filename chosen by the user
					' Create a QR code using data from textBox1, and save it as a PNG
					QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename)
					MessageBox.Show("Barcode Generated Successfully") ' Inform user of success
				End If
			Catch ex As Exception
				MessageBox.Show(ex.Message) ' Display error message in case of exception
			End Try
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

在開始編寫代碼之前,請向.NET WinForms應用程序中添加一個文本框。 這將允許我們輸入要生成條碼的文本。 然後向Windows Forms應用程序添加一個按鈕,並從示例代碼中添加所需的代碼。 我們還使用了SaveFileDialog工具,它將有助於將生成的條碼圖片保存到所需位置。

如何在C# Windows應用程序中打印條碼 圖6 - 條碼文本

當用戶點擊"保存條碼"按鈕時,"另存為"對話框將彈出,允許用戶選擇生成的條碼圖片的文件名和保存位置,保存為PNG文件。條碼是基於文本框中輸入的文本生成的。

如何在C# Windows應用程序中打印條碼 圖7 - 另存為

CreateQrCode功能的唯一必需參數是需要在QR碼圖片中編碼的數據(我們從文本框中獲取的字符串或流)。 該方法還接受三個可選參數:

  • 圖形的默認尺寸為500像素寬和500像素高。
  • 一個錯誤校正級別。 IronBarcode有四個錯誤校正級別:低、中、高和最高。當創建QR碼時,默認使用最高的校正級別(QRCodeWriter.QrErrorCorrectionLevel.greatest)。
  • QR碼的版本號。 如果值為0(默認值),該方法將根據其將編碼的數據使用適當的版本號。

上面的示例使用中等錯誤校正級別創建了一個500x500像素的圖形。 通過對生成的自定義QR碼使用SaveAsPng函數,我們可以將QR碼作為PNG文件保存到SaveAs文件對話框獲取的指定文件位置。

點擊這裡以獲取更全面的IronBarcode指南。

5.0 結論

IronBarcode庫被認為是生成和識別條碼的頂級選擇之一,因為它具有高效性和與各種操作系統的兼容性。 它提供了一系列功能來創建和自定義不同類型的條碼,包括可以調整文本、顏色、線寬和高度的能力。 庫的許可細節在網站上有披露,其中包括供開發者使用的付費和免費版本。 一年內提供免費的更新和支持。

常見問題解答

如何在 C# Windows Forms 應用程式中生成條碼?

要在 C# Windows Forms 應用程式中生成條碼,可以通過 NuGet Package Manager 整合 IronBarcode 庫。創建一個文本框以輸入條碼數據,並創建一個按鈕來使用 IronBarcode 提供的示例程式碼觸發條碼生成。

設置 Visual Studio 專案以進行條碼生成的步驟有哪些?

首先,在 Visual Studio 中使用 .NET Framework 4.7 或更高版本設置 Windows Forms 應用程式。然後,使用 NuGet Package Manager 安裝 IronBarcode 套件以啟用條碼生成功能。

如何將生成的條碼儲存為圖像文件?

IronBarcode 允許您將生成的條碼儲存為 PNG 文件。在 Windows Forms 應用程式中,您可以使用 'SaveFileDialog' 工具選擇保存條碼圖像的文件名和位置。

使用 2D 條碼與傳統線性條碼相比的好處是什麼?

2D 條碼,如 QR 碼,可比傳統線性條碼儲存更多數據,且可由數位相機或專用的光學掃描器讀取,使其在各種應用中具有多用途性。

生成 QR 碼時,我可以自定義錯誤校正等級嗎?

是的,IronBarcode 允許您在生成 QR 碼時設置錯誤校正等級。根據您需要對損壞或數據丟失的抗衝擊強度,可以將此等級調整為低、中、高或最高。

使用 IronBarcode 處理條碼批次是否可行?

是的,IronBarcode 支持通過使用多個核心和執行緒進行批次處理,這對於需要高容量條碼處理的伺服器端應用特別有用。

IronBarcode 可以在哪些平台上使用?

IronBarcode 與 .NET Framework 和 .NET Core 兼容,支持 32 位和 64 位架構。它可以在控制台應用程式、桌面應用程式、雲服務和在線應用程式中使用,適用於 PC 和移動平台。

為什麼圖像預處理對條碼生成很重要?

圖像預處理至關重要,因為它可通過糾正旋轉、噪點、失真和偏差等問題來提高條碼閱讀的精度和速度,確保高質量的條碼生成和識別。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。