跳過到頁腳內容
使用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 - 安裝條碼包

或者,您可以使用 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 應用程式中產生 BarCode?

要在 C# Windows Forms 應用程式中產生條碼,您可以透過 NuGet 套件管理員整合 IronBarcode 函式庫。使用 IronBarcode 提供的示例代码创建一个文本框来输入条码数据,并创建一个按钮来触发条码生成。

設定 Visual Studio 專案以產生 BarCode 需要哪些步驟?

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

如何將產生的 BarCode 儲存為影像檔?

IronBarcode 允許您將產生的條碼儲存為 PNG 檔案。您可以在 Windows Forms 應用程式中使用'SaveFileDialog'工具來選擇儲存條碼影像的檔案名稱和位置。

與傳統的線性條碼相比,使用二維條碼有什麼好處?

二維條碼(如 QR 代碼)比傳統的線性條碼可儲存更多資料,並可由數位相機或專用光學掃描器讀取,因此適用於各種應用。

在產生 QR 碼時,我可以自訂錯誤修正等級嗎?

是的,IronBarcode 允許您在產生 QR 代碼時設定錯誤修正等級。這可以調整為低、中、高或最高,取決於您需要 QR 代碼有多堅固,以防止損壞或資料遺失。

是否可以使用 IronBarcode 批量處理條碼?

是的,IronBarcode 支援利用多核心和線程進行批次處理,這對需要大量處理條碼的伺服器端應用程式特別有用。

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

IronBarcode 與 .NET Framework 和 .NET Core 相容,支援 32 位元和 64 位元架構。它可用於 PC 和行動平台上的主控台應用程式、桌面應用程式、雲端服務和線上應用程式。

為什麼影像預處理在條碼產生中很重要?

影像預處理非常重要,因為它可以透過修正旋轉、雜訊、扭曲和傾斜等問題,提高條碼讀取的精準度和速度,確保高品質的條碼產生和辨識。

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