跳過到頁腳內容
使用IRONBARCODE

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

1.0 引言

條碼是一種以可見、機器可讀格式呈現資料的途徑。 最初,平行線的間距、寬度和大小各不相同,用來表示條碼中的資料。 這些現代線性或一維 (1D) 條碼可以透過稱為條碼閱讀器的專用光學掃描器讀取,條碼閱讀器有多種類型。 後來,出現了二維(2D)變體,稱為矩陣碼或二維條碼,儘管它們實際上並沒有使用條形。 這些變體使用矩形、點、六邊形和其他圖案來代替傳統的條碼。 專為讀取二維條碼而設計的二維光學掃描器有多種配置可供選擇。 另一種讀取二維條碼的方法是使用連接到運行軟體的電腦的數位相機,該軟體可以拍攝條碼的照片並使用該影像對其進行解碼。 後一種形式的二維條碼掃描器可以透過安裝專門的應用軟體,在具有整合攝影機的行動裝置(例如智慧型手機)上使用。

2.0 IronBarcode功能

使用 IronBarcode 的條碼庫可以輕鬆產生動態條碼。 這個簡單的函式庫只需幾行程式碼即可產生條碼。 IronBarcode 的條碼閱讀器包含強大的條碼產生器,能夠產生高品質的條碼。 這樣條碼掃描器就能輕鬆讀取您的條碼。

  • IronBarcode可以讀取和寫入大多數條碼格式和二維碼標準,包括 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 窗體應用程式。

如何在 C# Windows 應用程式中列印條碼 圖 1 - Windows 窗體應用程式

請輸入項目名稱和地點。

如何在 C# Windows 應用程式中列印條碼 圖 2

本專案將使用.NET Framework 4.7。

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

專案建立完成後,Form1.cs 檔案將在設計器檢視中開啟。 您可以插入程式碼、設計使用者介面,並建置/運行程式。 要在解決方案中使用IronBarcode庫,您需要下載所需的軟體包。 這可以透過在程式包管理器控制台中使用以下程式碼來實現:

Install-Package BarCode

如何在 C# Windows 應用程式中列印條碼 圖 4 - 安裝 Barcode 套件

或者,您可以使用NuGet套件管理器搜尋並下載"條碼"包,這將列出所有搜尋結果。 從這裡您可以選擇需要下載的軟體包。

如何在 C# Windows 應用程式中列印條碼 圖 5 - NuGet套件管理器

在我們的表單中,我們放置了一個 SaveFileDialog 框,讓我們可以將生成的條碼圖像儲存到選定的位置。

4.0 使用IronBarcode產生條碼

IronBarcode庫允許我們只用幾行程式碼快速產生條碼。 以下是使用 Windows 窗體產生條碼標籤的範例程式碼:

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 窗體應用程式中新增一個按鈕,並新增範例程式碼中所需的程式碼。 我們還使用了 SaveFileDialog 工具,該工具可以幫助將生成的條碼圖像保存到所需位置。

如何在 C# Windows 應用程式中列印條碼 圖 6 - 條碼文字

當使用者點擊"儲存條碼"按鈕時,會跳出"另存為"對話框,允許使用者選擇產生的條碼影像的檔案名稱和儲存位置,該影像將以 PNG 檔案格式儲存。條碼是根據文字方塊中輸入的文字產生的。

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

CreateQrCode 函數唯一需要的參數是需要編碼到二維碼圖像中的資料(我們從文字方塊中獲取的字串或流)。 此方法還接受三個可選參數:

  • 圖形的預設尺寸為寬 500 像素,高 500 像素。
  • 用於糾錯的等級。 IronBarcode提供四種糾錯等級:低、中、高、最高。建立二維碼時預設使用最高糾錯等級 (QRCodeWriter.QrErrorCorrectionLevel.greatest)。
  • 二維碼的版本號。 如果該值為 0(預設值),則指示該方法根據其將要編碼的資料使用適當的版本號。

上面的範例使用中等程度的誤差校正創建了一個 500 x 500 像素的圖形。 透過在產生的自訂二維碼上使用 SaveAsPng 功能,我們可以將二維碼儲存為 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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我