如何在 C# 中建立 BarCode 與 QR 碼圖像

如何使用 IronBarcode 在 C# 中建立 BarCode 圖像

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

IronBarcode 讓 .NET 開發人員能透過 C# 僅需一行程式碼即可產生 BARCODE 與 QR 碼圖像,並支援多種格式與圖像類型。透過這個強大的 API 建立庫存管理系統、零售應用程式或文件處理解決方案,該 API 可產生專業品質的 BARCODE,確保在所有主要讀取器上皆能可靠掃描。

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

使用 IronBarcode 的單行 API,從字串建立 Code128 BarCode,並將其儲存為 PNG 圖片。 立即開始——提供資料、選擇編碼與尺寸,並寫入您的圖像檔案。

  1. using 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

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

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

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

BarcodeWriter.CreateBarcode() 方法接受多種資料型別作為 BARCODE 值:MemoryStreamstring。 字串長度與可接受的字元會因 BarCode 類型而異——詳情請參閱我們的 API 文件Code128 支援完整的 ASCII 字元集,而 UPC-A 則必須精確包含 12 位數字。 針對二進位資料,請使用 byte[] array 來編碼複雜的資料結構。

支援哪些BarCode編碼類型?

IronBarcode 支援多種 BarCode 格式——完整清單請參閱我們的《支援的 BarCode 格式》文章。常見格式包括:

  • 線性/1D BARCODECode128, Code39, UPC-A, UPC-E, EAN-8, EAN-13
  • 2D BARCODEAztec
  • 專用格式MaxiCode 適用於物流運輸,Databar 適用於零售

每種格式皆有其特定用途。 Code128 能妥善處理一般的英數字資料,而 QR 碼則為行動裝置掃描提供更優異的錯誤修正能力

寬度和高度設定會如何影響我的BarCode?

請以像素為單位設定輸出BarCode圖像的尺寸。 兩者的預設尺寸皆為 250 px。 某些BARCODE類型(PDF417)需符合特定尺寸規範。 當輸入尺寸不符合要求時,BARCODE會以符合規範的尺寸生成,並以空白填補剩餘空間。 若尺寸過小,將拋出例外。

為獲得最佳掃描效果:

  • 線性BarCode:寬度須顯著大於高度
  • 2D BARCODE:QR 碼應使用方格尺寸(例如 250x250)
  • 列印品質:較高的像素尺寸可提升大尺寸列印的品質

我可以將BarCode匯出為哪些圖像格式?

來自 BarcodeWriter.CreateBarcode()GeneratedBarcode 物件會透過特定的 SaveAs() 方法,將內容儲存為各種圖像格式:

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

此外,可將 BARCODE 匯出為資料流以供記憶體內處理,或將 BARCODE 建立為 PDF 文件以進行文件整合。

如何生成BARCODE並將其儲存為圖像檔案?

使用 BarcodeWriter.CreateBarcode() 生成 Code128 BARCODE,並將其儲存為 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
由黑色垂直條紋組成的生成一維BarCode,展示BarCode生成程式碼的範例輸出

如需進階樣式設定選項,請參閱我們的BarCode樣式自訂指南。

如何生成 QR 碼並儲存為圖像檔案?

QR 碼(歸類為二維 BARCODE)獲得 IronBarcode 的完整支援。 其多功能性、美觀設計及可自訂功能,促使這些工具從餐廳菜單到支付系統等領域獲得廣泛採用。

由於 QR 碼的複雜性,其生成方式會因應不同情況而有所差異。 從 QRCodeWriter 類別呼叫 CreateQrCode() 方法,該方法接受 4 個參數BarCode 值輸出 QR 碼大小QRCodeWriter.QrErrorCorrectionLevel 枚舉欄位,以及 QRVersion

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

QRCodeWriter.CreateQrCode() 可接受數字、字母或字母數字值,並以 MemoryStreamSystem.String 類型儲存。QR 碼特別擅長儲存:

  • 網址:引導使用者前往網站或登陸頁面
  • 文字:最多可儲存 4,296 個英數字元
  • 二進位資料:對檔案或複雜資料結構進行編碼
  • 結構化資料:vCard、Wi-Fi 憑證或付款資訊

關於 Unicode 支援與國際化字元,請參閱我們的"撰寫 Unicode BARCODE"教學指南。

如何設定 QR 碼的大小?

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

  • 顯示媒介:螢幕顯示通常需要 200-400px
  • PRINT 應用程式:請使用 600 像素或更高解析度以確保列印品質
  • 掃描距離:條碼尺寸越大,從較遠距離掃描的效果越好

什麼是 QR 錯誤校正等級?它為何重要?

QRErrorCorrectionLevel 決定容錯等級,共分四個層級:最高。 較高的校正等級會產生更複雜的 QR 碼,即使 QR 碼受損或部分被遮擋,也能有效防止讀取錯誤。

QRErrorCorrectionLevel.Highest

可生成具備 30% 錯誤修正能力的最複雜 QR 碼。 支援水印或圖像圖形。 非常適合用於自訂帶有商標的 QR 碼

使用最高錯誤校正等級生成的 QR 碼,顯示密集的黑白圖案及定位方塊

QRErrorCorrectionLevel.High

已進行 25% 的錯誤修正。 複雜度低於最高等級。 在耐用性與資料容量之間取得平衡。

展示高錯誤修正等級、密集資料圖案及標準定位元素的 QR 碼範例

QRErrorCorrectionLevel.Medium

已進行 15% 的錯誤修正。 生成 QR 碼的速度較快,但出錯機率較高。 適用於大多數需要清晰列印的商業應用。

顯示黑白數據矩陣及角落位置標記的生成 QR 碼範例

QRErrorCorrectionLevel.Low

套用 7% 的錯誤修正率,生成複雜度最低的 QR 碼。 適用於需要最大資料容量且具備最佳掃描條件的情況。

使用低錯誤校正等級生成的 QR 碼範例,顯示標準的黑白模組圖案

何時該使用不同的 QR 版本?

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

如何建立具有特定設定的 QR 碼圖片?

使用 QRCodeWriter.CreateQrCode() 來生成 QR 碼並將其儲存為圖片:

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
展示中等錯誤校正等級、採用標準尋址圖案與資料編碼結構的 QR 碼範例

該程式碼以中等錯誤修正等級,將一個字母數字值編碼為 250 像素。 版本 0 允許程式選擇合適的 QR 碼版本。 SaveAsJpeg() 接受帶有 JPEG 副檔名的檔案名稱。

BarCode影像生成的最佳實務

針對生產環境的應用程式:

  1. 選擇合適的格式:網頁使用 PNG,歸檔使用 TIFF,一般用途使用 JPEG
  2. 測試掃描:使用多種掃描裝置驗證 BARCODE
  3. 設定適當的邊距:使用BarCode邊距設定以確保掃描可靠性
  4. 考量效能:針對大量生成需求,探索非同步與多執行緒的選項

如需更多範例與技巧,請參閱我們的 C# BarCode 影像產生器教學

常見問題

如何使用 C# 透過單行程式碼建立 BarCode 圖像?

透過 IronBarcode,您可以使用 BarcodeWriter.CreateBarcode() 方法,僅需一行程式碼即可建立條碼影像。 只需傳入您的資料、編碼類型、寬度和高度,然後將其儲存為圖像檔案。例如:IronBarCode.BarCodeWriter.CreateBarCode("Sample123", BarcodeEncoding.Co/de128, 250, 100).SaveAsPng("BarCode.png");

我可以將哪些類型的資料編碼到BARCODE中?

IronBarcode 的 BarCodeWriter.CreateBarCode() 方法支援多種資料類型,包括位元組陣列、MemoryStream 及字串。字串長度與可接受的字元會因 BarCode 類型而異——Code128 支援完整的 ASCII 字元集,而 UPC-A 則必須精確為 12 位數字。針對二進位資料,您可以使用位元組陣列來編碼複雜的資料結構。

支援哪些BarCode格式進行影像生成?

IronBarcode 支援多種 BARCODE 格式,包括線性/1D BARCODE(Code128、Code39、UPC-A、UPC-E、EAN-8、EAN-13)、2D BARCODE(QR Code、Data Matrix、PDF417、Aztec),以及專用格式,例如用於物流的 MaxiCode 和用於零售的 Databar。 每種格式皆有其特定用途,其中 Code128 適用於一般字母數字資料,而 QR 碼則為行動掃描提供卓越的錯誤修正能力。

如何設定BarCode圖像的尺寸?

您可直接在 CreateBarCode() 方法的參數中,以像素為單位設定 BarCode 圖像的尺寸。IronBarcode 預設寬度和高度均為 250px。某些 BarCode 類型(如 QR 碼和 PDF417)可能需要符合特定規格的尺寸,當輸入的尺寸不符合要求時,該程式庫會自動進行調整。

生成的BarCode可以儲存為哪些圖像檔案格式?

IronBarcode 允許您使用 SaveAs() 方法,將生成的 BarCode 儲存為多種圖像格式。您可以透過 SaveAsPng() 儲存為 PNG 格式,亦可儲存為 JPEG、BMP 和 TIFF 等其他常見格式。由 CreateBarcode() 返回的 GeneratedBarcode 物件提供了適用於不同檔案類型的各種儲存方法。

除了傳統 BarCode 外,我也能生成 QR 碼嗎?

是的,IronBarcode 除了傳統 BARCODE 外,也完全支援 QR 碼的生成。您可以透過相同的 CreateBarcode() 方法,並將編碼類型指定為 BarcodeEncoding.QRCode 來建立 QR 碼。QR 碼具備優異的錯誤修正能力等優勢,非常適合用於行動掃描應用。

IronBarcode是否提供自定義條碼外觀的支持?

是的,IronBarcode提供了廣泛的條碼外觀自定義選項,包括顏色、大小和文字註釋,讓您可以根據具體設計需求定制條碼。

IronBarcode如何幫助改善業務流程效率?

IronBarcode通過使條碼生成和讀取快速且準確來提高業務流程效率,減少手動數據輸入錯誤,並改善庫存和資產追蹤。

將IronBarcode實現於專案中需要什麼程式設計技能?

基本的C#程式設計知識足以將IronBarcode實現於專案中,因為它提供了簡單的方法和全面的文檔來指導開發者。

IronBarcode適合於小型專案和大型企業應用嗎?

IronBarcode設計為可擴展且多功能,使其適合小型專案和需要強大條碼解決方案的大型企業應用。

Hairil Hasyimi Bin Omar
軟體工程師
如同所有傑出的工程師,Hairil 是一位熱衷學習的人。他正不斷精進自己在 C#、Python 和 Java 方面的知識,並運用這些知識為 Iron Software 的團隊成員創造價值。Hairil 從馬來西亞馬拉科技大學(Universiti Teknologi MARA)加入 Iron Software 團隊,他在該校取得化學與製程工程學士學位。
準備好開始了嗎?
Nuget 下載 2,230,745 | 版本: 2026.5 just released
Still Scrolling Icon

還在捲動嗎?

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