如何在C# Windows應用程式中列印條碼
1.0 簡介
條碼是一種將資料以人類可見、機器可讀格式呈現的方法。 最初,平行線的間隔、寬度和大小不同以在條碼中表示資料。 這些現代線性或一維(1D)條碼可以由稱為條碼閱讀器的專用光學掃描器讀取,種類繁多。 後來,建立了二維(2D)變體,稱為矩陣碼或2D條碼,即使它們其實並不使用條。 這些變體使用矩形、點、六邊形和其他樣式取代傳統條碼。 專門設計用於讀取2D條碼的2D光學掃描器有多種配置可供選擇。 另一種讀取2D條碼的方法是使用連接到電腦的數位相機,運行軟體拍攝條碼的圖片並使用該圖片進行解碼。 這種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應用程式以保持簡單。

輸入專案的名稱和位置。

.NET Framework 4.7將用於此專案。

建立專案後,Form1.cs檔案將在設計器檢視中打開。 您可以插入程式碼,設計使用者介面,並建立/運行程式。 要在解決方案中使用IronBarcode程式庫,您需要下載所需的套件。 可以在套件管理器控制台中使用以下程式碼完成此操作:
Install-Package BarCode

或者,您可以使用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
在開始編寫程式碼之前,請將文字框新增到.NET WinForms應用程式中。 這將允許我們輸入生成條碼的文字。 然後將按鈕新增到Windows Forms應用程式中,並新增樣本程式碼中的所需程式碼。 我們還使用SaveFileDialog工具,這將有助於將生成的條碼影像保存到所需位置。

當使用者點擊保存條碼按鈕時,將彈出另存為對話框,允許使用者選擇生成的條碼圖像保存為PNG檔案的檔名和位置。條碼是基於文字框中輸入的文字生成的。

CreateQrCode函式的唯一參數是需要在QR碼圖像中編碼的資料(一個字串或我們從文字框獲取的流)。 該方法還接受三個附加的可選參數:
- 圖形的預設大小為500像素寬和500像素高。
- 一個錯誤修正等級。 IronBarcode有四個錯誤修正等級:低,中,高和最高。在建立QR碼時,預設使用最高等級的修正(
QRCodeWriter.QrErrorCorrectionLevel.greatest)。 - QR碼的版本號。 如果值為0(預設值),則指示方法根據其將編碼的資料適用於適當的版本號。
上面的例子使用中等程度的錯誤修正建立了500 x 500像素的圖形。 通過在自訂生成的QR碼上使用SaveAs文件對話框中獲得的指定文件位置。
點擊這裡獲取更全面的IronBarcode指南。
5.0 結論
由於其效率和與各種操作系統的相容性,IronBarcode程式庫被認為是生成和識別條碼的首選選項之一。 它提供了一系列功能用於建立和自定義不同型別的條碼,包括調整文字、顏色、線寬和高度的能力。 程式庫的授權詳細資訊可以在網站上獲得,該網站包括開發人員的付費和免費版本。 更新和支援在一年內免費提供。
常見問題
如何在C# Windows Forms應用程式中生成條碼?
要在C# Windows Forms應用程式中生成條碼,您可以透過NuGet套件管理器整合IronBarcode程式庫。建立一個文字框以輸入條碼資料,和一個按鈕來以IronBarcode提供的範例程式碼觸發條碼生成。
設置Visual Studio專案以生成條碼涉及哪些步驟?
首先在Visual Studio中設置一個使用.NET Framework 4.7或更高版本的Windows Forms應用程式。然後,使用NuGet套件管理器安裝IronBarcode套件以啟用條碼生成功能。
如何將生成的條碼保存為圖像文件?
IronBarcode允許您將生成的條碼保存為PNG文件。您可以在Windows Forms應用程式中使用'SaveFileDialog'工具來選擇保存條碼圖像的文件名和位置。
使用2D條碼相較於傳統線性條碼有何好處?
2D條碼,如QR碼,可以儲存比傳統線性條碼更多的資料,並且可以通過數位相機或專用光學掃描器讀取,使其對於各種應用更具彈性。
在生成QR碼時可以自訂錯誤更正等級嗎?
是的,IronBarcode允許您在生成QR碼時設置錯誤更正等級。根據QR碼需要具有的對損壞或資料丟失的穩定程度,可以將其調整為低、中、高或最高。
IronBarcode可以批次處理條碼嗎?
是的,IronBarcode透過利用多核和執行緒支援批次處理,這對於需要高容量條碼處理的伺服器端應用程式尤其有用。
IronBarcode可以在哪些平台上使用?
IronBarcode與.NET Framework和.NET Core相容,支持32位和64位架構。它可以用於控制台應用程式、桌面應用程式、雲服務以及在PC和移動平台上的線上應用程式。
為什麼圖像預處理在條碼生成中很重要?
圖像預處理至關重要,因為它通過修正旋轉、噪音、失真和傾斜等問題,提高條碼讀取的精度和速度,確保高品質的條碼生成和識別。




