如何在 C# 中創建條碼和 QR 代碼圖像

如何使用 IronBarcode 在 C# 中建立條碼圖像(建立條碼完整指南)

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode讓.NET開發人員能夠使用一行 C# 程式碼產生條碼和二維碼影像,支援多種格式和影像類型。借助其強大的 API,您可以建立庫存管理系統、零售應用程式或文件處理解決方案,該 API 可建立專業級條碼,以便在所有主流閱讀器上可靠掃描。

快速入門:一行建立並儲存 Code128 條碼

使用 IronBarcode 的一行 API 從字串建立 Code128 條碼並將其儲存為 PNG 映像。 立即開始—提供數據,選擇編碼和大小,然後寫入圖像檔案。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/BarCode

    PM > Install-Package BarCode
  2. 複製並運行這段程式碼。

    IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronBarcode

    arrow pointer

如何產生條碼並儲存為圖像檔案?

除了讀取條碼外,IronBarcode還允許使用者以最少的程式碼產生條碼。呼叫 BarcodeWriter 類別的 CreateBarcode() 方法,在參數中指定條碼的值、類型、寬度和高度。這將輸出一個 GeneratedBarcode 物件,可使用 SaveAs() 方法將其儲存為圖像檔案。

條碼值可以使用哪些類型的資料?

BarcodeWriter.CreateBarcode() 方法接受條碼值的多種資料類型:MemoryStreamstring。 字串長度和可接受的字元因條碼類型而異——有關詳細信息,請參閱我們的API 文件。 Code128 支援完整的 ASCII 字元集,而 UPC-A 則需要 12 位數字。 對於二進位數據,請使用 byte[] array 對複雜資料結構進行編碼。

支援哪些條碼編碼類型?

IronBarcode支援多種條碼格式-請參閱我們的"支援的條碼格式"文章以取得完整清單。常用格式包括:

-一維條碼:Code128、Code39、UPC-A、UPC-E、EAN-8、EAN-13
-二維條碼:QR碼、Data Matrix碼、PDF417碼、Aztec碼
-特殊格式:用於運輸的 MaxiCode,用於零售的 Databar

每種格式都有其特定的用途。 Code128 可以很好地處理一般的字母數字數據,而QR 碼為行動掃描提供了更優的糾錯功能

條碼的寬度和高度設定如何影響其顯示效果?

設定輸出條碼影像的尺寸(以像素為單位)。 兩者的預設尺寸均為 250 像素。 某些條碼類型(QR、PDF417)對尺寸有特定要求才能符合規範。 當輸入尺寸不符合要求時,條碼將按照符合要求的尺寸生成,剩餘空間以空白填充。 尺寸過小會引發異常。

為了獲得最佳掃描效果:
-線性條碼:寬度遠大於高度
-二維條碼:二維碼應使用正方形尺寸(例如,250x250)。
-列印品質:更高的像素尺寸可以提高較大物理尺寸下的列印品質。

條碼可以匯出為哪些影像格式?

來自 BarcodeWriter.CreateBarcode()GeneratedBarcode 物件使用特定的 SaveAs() 方法儲存為各種影像格式:

  • SaveAsGif(): 儲存為GIF 圖片文件
  • SaveAsJpeg(): 儲存為JPEG 影像文件
  • SaveAsPng(): 儲存為PNG 圖片檔(建議用於網頁)
  • SaveAsTiff(): 儲存為TIFF 影像檔案(非常適合存檔/列印)
  • SaveAsWindowsBitmap(): 儲存為BMP 影像文件
  • SaveAsImage(): 通用方法-在檔案路徑中指定格式副檔名

此外,還可以將條碼匯出為串流以進行記憶體處理,或將條碼建立為 PDF 文件以進行文件整合。

如何產生條碼並將其儲存為圖像檔案?

使用 BarcodeWriter.CreateBarcode() 建立 Code128 條碼並將其儲存為 JPEG 影像:

using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
Imports IronBarCode

' Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg")

' Create a barcode with custom options
Dim myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150)

' Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SetMargins(10)

' Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg")
myBarcode.SaveAsPng("product-barcode.png")
$vbLabelText   $csharpLabel
產生的帶有黑色豎條的一維條碼,顯示了條碼產生程式碼的範例輸出。

有關進階樣式選項,請參閱我們的條碼樣式自訂指南。

如何產生二維碼並儲存為圖像檔案?

IronBarcode完全支援二維條碼(QR 碼) 。 它們的多功能性、美觀性和可自訂性推動了從餐廳菜單到支付系統的廣泛應用。

由於二維碼的複雜性,創建二維碼需要採用不同的方法。 呼叫 CreateQrCode() 類別的方法,該方法接受4 個參數條碼值輸出二維碼大小QRCodeWriter.QrErrorCorrectionLevel 枚舉字段和 QRVersion

二維碼值可以使用哪些資料型別?

QRCodeWriter.CreateQrCode() 接受數字、字母或字母數字值,類型分別為 MemoryStreamSystem.String。二維碼擅長儲存:

  • URL :將使用者引導至網站或登陸頁
    -文字:最多可儲存 4,296 個字母數字字符
    -二進位資料:對檔案或複雜資料結構進行編碼
    -結構化資料:vCard、WiFi 憑證或付款資訊

有關 Unicode 支援和國際字符,請參閱我們的Unicode 條碼編寫教程。

如何設定二維碼大小?

直接以像素 (px)為單位指定二維碼大小,格式為 Int32。 預設尺寸為 500 像素。 請考慮以下因素:

-顯示媒體:螢幕顯示通常需要 200-400 像素
-列印應用:使用 600 像素或更高的解析度可獲得高品質列印效果
掃描距離:較大的條碼在更遠的距離上掃描效果更好。

什麼是二維碼糾錯等級?為什麼它很重要?

QRErrorCorrectionLevel 決定容錯能力,分為四個等級:最高。 更高的糾錯等級可以創造更複雜的二維碼,即使二維碼損壞或部分被遮擋,也能防止讀取錯誤。

QR錯誤校正等級.最高

產生錯誤率達 30% 的最複雜二維碼。 支援印製標誌或圖像圖形。 非常適合客製化帶有徽標的二維碼

產生的二維碼採用最高糾錯級別,呈現密集的黑白圖案,並帶有定位方塊。

QR錯誤校正等級.高

應用 25% 的誤差修正。 比最高等級簡單一些。 兼顧耐用性和數據容量。

二維碼範例展示了具有高糾錯水平、密集資料模式和標準定位元素的二維碼範例

QR錯誤校正等級.中等

應用15%的誤差修正。 產生二維碼速度更快,但更容易出錯。 適用於多數商業應用,列印效果清晰。

產生的二維碼範例,顯示帶有角點標記的黑白資料矩陣

QR錯誤校正等級.低

應用 7% 的糾錯率,產生最簡單的二維碼。 在需要最大資料容量和最佳掃描條件時使用。

產生的低糾錯等級二維碼範例,顯示標準黑白模組圖案

何時應該使用不同版本的二維碼?

QR 版本(1-40)決定符號的複雜度和資料容量。 更高版本會產生更複雜的程式碼,儲存更多資料。 版本設定過低會導致編碼較大資料量時出現問題。 版本 0 會根據編碼值自動指派對應的版本。 See QR Version for more information.

如何建立具有特定設定的二維碼影像?

使用 QRCodeWriter.CreateQrCode() 編寫二維碼並將其儲存為圖像:

using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
Imports IronBarCode

' Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion:=0).SaveAsJpeg("QRMedium.jpeg")

' Advanced QR code with custom styling
Dim qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High)

' Add logo and styling
qrCode.AddLogo("logo.png")
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue)

' Save in multiple formats
qrCode.SaveAsPng("styled-qr.png")
qrCode.SaveAsPdf("styled-qr.pdf")
$vbLabelText   $csharpLabel
二維碼範例,展示了中等糾錯等級、標準查找模式和資料編碼結構

該代碼以 250 像素的分辨率對字母數字值進行編碼,並具有中等糾錯能力。 版本 0 允許程式選擇合適的二維碼版本。 SaveAsJpeg() 接受 JPEG 副檔名的檔案名稱。

條碼影像生成的最佳實踐

用於生產應用:

1.選擇合適的格式:PNG 用於網頁,TIFF 用於存檔,JPEG 用於一般用途
2.測試掃描:使用多個掃描設備驗證條碼。
3.設定適當的邊距:使用條碼邊距設定以確保掃描可靠
4.考慮效能:探索非同步和多執行緒選項,以應對高容量生成任務。

有關更多範例和技巧,請造訪我們的C# 條碼圖像產生器教學

常見問題解答

如何在 C# 中使用一行代碼創建一個 BarCode 圖像?

使用 IronBarcode,您可以使用 BarcodeWriter.CreateBarcode() 方法在一行中创建一個條形碼图像。只需傳入您的數據、編碼類型、寬度和高度,然後將其保存為一個圖像文件。例如IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");

BarCode 可以編碼哪些類型的資料?

IronBarcode 的 BarcodeWriter.CreateBarcode() 方法接受多種資料類型,包括位元組陣列、MemoryStreams 和字串。字符串的長度和接受的字符因條碼類型而異 - Code128支持完整的ASCII字符集,而UPC-A要求正好12位數字。對於二進位資料,您可以使用位元組來編碼複雜的資料結構。

影像產生支援哪些 BarCode 格式?

IronBarcode 支援多種條碼格式,包括線性/一維條碼(Code128、Code39、UPC-A、UPC-E、EAN-8、EAN-13)、二維條碼(QR Code、Data Matrix、PDF417、Aztec),以及特殊格式,如用於運輸的 MaxiCode 和用於零售的 Databar。每種格式都有其特定用途,Code128 可處理一般的字母數字資料,而 QR Code 則可為行動掃描提供優異的錯誤修正功能。

如何設定 BarCode 影像的尺寸?

您可以直接在 CreateBarcode() 方法参數中以像素為单位設置條碼图像尺寸。IronBarcode 使用預設的寬度和高度都是 250px。某些條碼類型如QR和PDF417可能需要特定的尺寸以符合要求,當輸入尺寸與要求不符時,庫會自動調整。

我可以將產生的 BarCode 儲存為何種影像檔案格式?

IronBarcode 允許您使用 SaveAs() 方法將生成的條碼儲存為多種圖像格式。您可以使用 SaveAsPng() 保存為 PNG 格式,以及其他常見的格式,如 JPEG、BMP 和 TIFF。CreateBarcode() 所傳回的 GeneratedBarcode 物件提供了各種不同檔案類型的儲存方法。

我可以產生 QR 碼以及傳統的 BarCode 嗎?

是的,IronBarcode 完全支援 QR 代碼與傳統條碼的產生。您可以使用相同的 CreateBarcode() 方法,指定 BarcodeEncoding.QRCode 為編碼類型來建立 QR 代碼。QR 代碼具有優異的錯誤更正等優點,是移動掃描應用程式的理想選擇。

Hairil Hasyimi Bin Omar
軟體工程師
和所有优秀的工程师一样,Hairil 是個努力学习者。他正在细化自己的 C# 、Python 和 Java 知识,将这些知识應用于 Iron Software 各個团队成员以增加价值。Hairil 自马来西亚 Universiti Teknologi MARA 加入 Iron Software 团队,并以化学与工艺工程学士学位毕业。
準備好開始了嗎?
Nuget 下載 2,145,441 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package BarCode
執行範例 看您的字串變成 BarCode。