如何在 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還允許用戶用最少的編碼編寫條碼。 Call the CreateBarcode() method from the BarcodeWriter class, specifying the barcode value, type, width, and height in the method parameters. 這將輸出一個 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");
$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");
$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,119,460 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

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