如何建立 2D BARCODE

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

IronBarcode 讓您能夠透過簡單的 C# 程式碼,生成所有主要 2D BarCode 格式,包括 QR Code、Aztec、PDF417,以及全新的 rMQR 格式。 只需將所需的編碼類型傳遞給 Create 方法,並匯出為圖片即可。 IronBarcode 支援超過 30 種 BarCode 格式,為您所有的 BarCode 生成需求提供全面的解決方案。

當需要在有限空間內儲存詳細資訊時,2D BARCODE 是業界公認的標準解決方案。 它們能容納數千個字元,即使被撕裂、刮傷或做記號,仍能保持可讀性。 由於這些BarCode可從任何角度掃描且無需精準對齊,因此非常適合快節奏的物流及行動掃描應用。 內建的錯誤修正功能可確保您的資料即使在艱困的環境下仍能保持可存取性。

主要挑戰在於根據您的具體需求選擇正確的格式。 無論是行動票務所需的 Aztec Code 無邊框緊湊設計、微型電子元件所需的 DataMatrix 工業級精準度,還是駕駛執照與身分證所需的 PDF417 超大離線儲存容量,都能滿足您的需求。 透過 IronBarcode,您可以可靠且高效地生成所有這些格式。

在本指南中,我們將介紹如何生成 QR Code、MaxiCode 以及全新的 rMQR 等關鍵 2D 格式,並說明其日常應用情境。


快速入門:建立您的第一個 2D BarCode

using IronBarcode 的簡易 API,從字串建立 QR 碼並將其儲存為 PNG 圖像。 立即開始——提供資料、選擇編碼與尺寸,並寫入您的圖像檔案。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/BarCode

    PM > Install-Package BarCode
  2. 請複製並執行此程式碼片段。

    IronBarCode.BarcodeWriter.CreateBarcode("Hello World", BarcodeEncoding.QRCode, 250, 250).SaveAsPng("myQRCode.png");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronBarcode

    arrow pointer

什麼是 2D BARCODE?何時該使用它們?

二維 BarCode(如 QR 碼)利用由方格或點組成的網格,在水平與垂直方向上儲存資訊。 相較之下,線性一維BARCODE則使用單行BARCODE來儲存資料。 標準BARCODE僅能儲存少量數字或字母,而二維BARCODE則能儲存大量資料——包括網頁連結、身分識別資訊或完整檔案——且無需連線至資料庫。

這種堅固的設計使 2D BARCODE 具備極佳的耐用性。 內建的錯誤修正功能,即使BarCode有刮痕、破損或被塗鴉,仍能進行掃描,而一般BarCode在此情況下往往會失敗。 這使得 2D BARCODE 成為惡劣環境或無法保證完美條件的行動掃描情境中的理想選擇。 如需進一步了解錯誤修正的微調方法,請參閱我們的錯誤修正指南

讓我們來探索 IronBarcode 所支援的所有 2D BARCODE 格式,示範如何建立這些 BARCODE,並探討它們的常見用途。 每種格式皆具備獨特特性,適用於特定應用場景。

如何為行動票務系統建立 Aztec BARCODE?

阿茲特克碼(Aztec Code)是一種高密度二維矩陣,其特徵在於中央的正方形靶心圖案。 與其他格式不同,阿茲特克碼(Aztec codes)具有空間效率,並以緊湊的正方形格式儲存資料。

Aztec 碼的獨特優勢在於,它與其他 BARCODE 不同,無需靜區。 它常被用於行動票務,例如電子登機證和醫療保健病患手環。 航空公司與大眾運輸系統偏好此格式,因其體積小巧且在智慧型手機螢幕上具有極佳的可讀性。

程式碼

IronBarcode 讓生成 Aztec 條碼變得簡單:在呼叫 Create 方法時,將 BarcodeEncoding.Aztec 作為第二個參數傳入,然後將結果匯出為圖片。 您可以透過 IronBarcode 的樣式選項進一步自訂外觀

:path=/static-assets/barcode/content-code-examples/how-to/create-aztec-barcode.cs
using IronBarCode;

// Create the Aztec barcode
GeneratedBarcode AztecCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec);

// Display the value below the barcode
AztecCode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
AztecCode.SaveAsJpeg("aztec-sample.jpg");
Imports IronBarCode

' Create the Aztec barcode
Dim AztecCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec)

' Display the value below the barcode
AztecCode.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
AztecCode.SaveAsJpeg("aztec-sample.jpg")
$vbLabelText   $csharpLabel

輸出

展示特徵性靶心圖案的阿茲特克BarCode範例

如何建立用於工業零件標記的 DataMatrix BARCODE?

Data Matrix 是一種緊湊的 2D 矩陣,其邊緣的 L 形定位圖案是識別其特徵的關鍵。 此格式特別適用於空間有限且耐用性至關重要的情境。

Data Matrix 的獨特優勢在於其極高的耐用性,以及能夠縮小至微米級尺寸以進行直接零件標記 (DPM)。 此技術常應用於手術器械、電子元件及航太零件等空間極度受限的工業追蹤領域。 此格式體積小巧且資料密度高,非常適合用於將各類資料類型(包括序號和批次碼)轉為BARCODE

程式碼

IronBarcode 讓生成 DataMatrix 條碼變得簡單:在呼叫 BarcodeEncoding.DataMatrix 方法時,將 Create 作為第二個參數傳入,然後將結果匯出為圖片。

:path=/static-assets/barcode/content-code-examples/how-to/create-datamatrix-barcode.cs
using IronBarCode;

// Create the DataMatrix barcode
GeneratedBarcode DataMatrix = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);

// Display the value below the barcode
DataMatrix.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
DataMatrix.SaveAsJpeg("dataMatrix-sample.jpg");
Imports IronBarCode

' Create the DataMatrix barcode
Dim DataMatrix As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix)

' Display the value below the barcode
DataMatrix.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
DataMatrix.SaveAsJpeg("dataMatrix-sample.jpg")
$vbLabelText   $csharpLabel

輸出

顯示 L 形定位圖案的 DataMatrix BarCode 範例

如何建立用於運送標籤的 MaxiCode BARCODE?

MaxiCode 是一種固定尺寸的 2D 矩陣,其特徵為中央的圓形靶心圖案,周圍環繞著六邊形網格。 此獨特設計專為輸送帶上的高速掃描而打造。

MaxiCode 的獨特之處在於其物理尺寸始終維持 1 英吋,無論儲存多少資料,此設計使其能針對高速輸送帶讀取進行最佳化。 此技術常見於物流與供應鏈管理領域,特別應用於 UPS 運送標籤,用於自動化包裹分揀與路由。 固定大小可確保無論資料負載為何,掃描效能皆能保持一致。

程式碼

IronBarcode 讓生成 MaxiCode 變得簡單:在呼叫 BarcodeEncoding.MaxiCode 方法時,將 Create 作為第二個參數傳入,然後將其匯出為圖片。 如需更多範例,請參閱我們的BarCode快速入門指南

:path=/static-assets/barcode/content-code-examples/how-to/create-maxicode-barcode.cs
using IronBarCode;

// Create the MaxiCode barcode
GeneratedBarcode MaxiCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.MaxiCode);

// Display the value below the barcode
MaxiCode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
MaxiCode.SaveAsJpeg("maxiCode-sample.jpg");
Imports IronBarCode

' Create the MaxiCode barcode
Dim MaxiCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.MaxiCode)

' Display the value below the barcode
MaxiCode.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
MaxiCode.SaveAsJpeg("maxiCode-sample.jpg")
$vbLabelText   $csharpLabel

輸出

MaxiCode BARCODE 範例,包含六邊形圖案與圓形靶心

如何為身分證製作 PDF417 BarCode?

PDF417 是一種堆疊式線性BarCode,其寬闊的矩形外觀類似數位雜訊,因而易於辨識。 此格式能編碼比其他 2D 格式多得多的資料,使其非常適合儲存詳細資訊。

PDF417 的獨特功能在於其可作為便攜式資料檔案,無需資料庫連線即可儲存大量資料,例如照片、姓名及生物特徵記錄。 它通常用於政府身分證明文件,例如駕駛執照和PRINT航空登機證。 此格式同時支援文字與二進位資料編碼。

程式碼

IronBarcode 讓生成 PDF417 變得簡單:在呼叫 BarcodeEncoding.PDF417 方法時,將 Create 作為第二個參數傳入,然後將其匯出為圖片。 您也可以將 BARCODE 儲存為各種圖像格式,包括 PNG、JPEG 等。

:path=/static-assets/barcode/content-code-examples/how-to/create-pdf417-barcode.cs
using IronBarCode;

// Create PDF417 barcode
GeneratedBarcode PDF417code = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.PDF417);

// Display the value below the barcode
PDF417code.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
PDF417code.SaveAsJpeg("pdf417-sample.jpg");
Imports IronBarCode

' Create PDF417 barcode
Dim PDF417code As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.PDF417)

' Display the value below the barcode
PDF417code.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
PDF417code.SaveAsJpeg("pdf417-sample.jpg")
$vbLabelText   $csharpLabel

輸出

顯示堆疊線性圖案的 PDF417 BARCODE 範例

如何為行銷活動建立 QR 碼?

QR 碼是一種高密度二維矩陣,其特徵在於四個角落各有三個獨特的方形定位圖案。 作為最廣為人知的 2D BARCODE 格式,QR 碼已在消費性應用中無所不在。

QR 碼的獨特優勢在於其普羅大眾皆可使用——它是唯一一種幾乎所有現代智慧型手機相機應用程式都能原生支援的二維條碼,無需額外安裝軟體。 它通常用於行銷與公眾互動、連結至網站和數位菜單,以及促進行動支付。 若需進階的 QR 碼生成功能,請參閱我們的 QR 碼建立範例

程式碼

IronBarcode 讓生成 QR 碼變得簡單:在呼叫 Create 方法時,將 BarcodeEncoding.QRCode 作為第二個參數傳入,然後將其匯出為圖片。 您亦可透過添加標誌及變更顏色來自訂 QR 碼樣式

:path=/static-assets/barcode/content-code-examples/how-to/create-QRCode.cs
using IronBarCode;

// Create QR Code
GeneratedBarcode QRcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.QRCode);

// Display the value below the barcode
QRcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
QRcode.SaveAsJpeg("QRcode.jpg");
Imports IronBarCode

' Create QR Code
Dim QRcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.QRCode)

' Display the value below the barcode
QRcode.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
QRcode.SaveAsJpeg("QRcode.jpg")
$vbLabelText   $csharpLabel

輸出

包含三種角點定位模式的 QR 碼範例

如何為小型電子產品製作微型 QR 碼?

微型 QR 碼是一種微型化的二維矩陣,其特徵在於左上角的單一正方形定位圖案。 此格式專為空間極度有限的應用場景所設計。

由於篇幅有限,字數需受限制。 最大版本號(M4)最多可包含 21 個英數字元或 35 個數字。 使用微型 QR 碼時,請仔細規劃您的資料編碼策略。

程式碼

IronBarcode 讓生成 MicroQRCode 變得簡單:在呼叫 BarcodeEncoding.MicroQRCode 方法時,將 Create 作為第二個參數傳入,然後將其匯出為圖片。

:path=/static-assets/barcode/content-code-examples/how-to/create-microQR.cs
using IronBarCode;

// Create a Micro QR Code
GeneratedBarcode microQRcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.MicroQRCode);

// Display the value below the barcode
microQRcode.AddBarcodeValueTextBelowBarcode();

// Save to file as Jpeg
microQRcode.SaveAsJpeg("microQRCode.jpg");
Imports IronBarCode

' Create a Micro QR Code
Dim microQRcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.MicroQRCode)

' Display the value below the barcode
microQRcode.AddBarcodeValueTextBelowBarcode()

' Save to file as Jpeg
microQRcode.SaveAsJpeg("microQRCode.jpg")
$vbLabelText   $csharpLabel

輸出

採用單一定位圖案的微型 QR 碼範例

若我的資料超過 Micro QR 的容量會如何?

若輸入字串超過 35 個數字位元組或 21 個英數字元,IronBarcode 會拋出錯誤。 此內建驗證機制有助於防止生產環境中的執行時錯誤。

Micro QR Code 資料容量超限時顯示的錯誤訊息

如何為狹窄空間建立 rMQR 條碼?

矩形微型 QR 碼 (rMQR) 是一種特殊的二維矩陣,其特徵為細長條狀的外觀,以及左上角的單一定位圖案。 此創新格式填補了BarCode技術中的特定缺口。

由於採用矩形設計,其可向水平方向延伸以增加容量,同時不增加垂直佔用空間。 最大版本(R17x139)最多可容納 219 個英數字元或 361 個數字——其容量遠勝 MicroQRCode,同時仍保持輕巧的體積。

程式碼

IronBarcode 讓生成 RMQRCode 變得簡單:在呼叫 BarcodeEncoding.RMQRCode 方法時,將 Create 作為第二個參數傳入,然後將其匯出為圖片。 如需全面了解 IronBarcode 的所有功能,請參閱我們的 API 參考文件

:path=/static-assets/barcode/content-code-examples/how-to/create-rmQRcode.cs
using IronBarCode;

// Create a  RmQR Code
GeneratedBarcode rMqrCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.RMQRCode);

// Display the value below the barcode
rMqrCode.AddBarcodeValueTextBelowBarcode();

// Save to file as Jpeg
rMqrCode.SaveAsJpeg("rmQRcode.jpg");
Imports IronBarCode

' Create a RMQR Code
Dim rMqrCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.RMQRCode)

' Display the value below the barcode
rMqrCode.AddBarcodeValueTextBelowBarcode()

' Save to file as Jpeg
rMqrCode.SaveAsJpeg("rmQRcode.jpg")
$vbLabelText   $csharpLabel

輸出

顯示矩形格式的 rMQR 碼範例

若我的資料超過 rMQR 的容量會如何?

若輸入字串超過 361 個數字位元組或 219 個英數字元,IronBarcode 會拋出錯誤。 此驗證可確保您的 BARCODE 仍可掃描,並符合 rMQR 規範。

超過 rMQR 碼容量限制時顯示的錯誤訊息

我應該選擇哪種 2D BARCODE 格式?

名稱 格式 常見用法 限制與注意事項
阿茲特克碼 矩陣(由中心向外)
帶有中央"靶心"對焦點的方形網格。無需留白區。
行動登機證(Apple Wallet)、火車票及醫療手環。
  • 中心傷害:依賴中心定位器;若傷害落在靶心,將導致完全失敗。
  • 螢幕反光:反光的手機螢幕可能會使標準掃描器無法辨識。
Data Matrix 矩陣(L 型)
方形或長方形,兩側帶有實心"L"形邊框。
電子元件、手術器械,以及金屬表面的直接零件標記 (DPM)。
  • 靜音區:需保留 1 模組寬度的白色邊框;邊緣圖形會導致錯誤。
  • 對比:閃亮的金屬(DPM)字體需要特殊照明才能辨識。
MaxiCode 固定尺寸矩陣
,精確為 1x1 英吋。由六邊形點組成,中央帶有圓形靶心。
UPS 運送標籤與高速輸送帶分揀系統。
  • 固定尺寸:高度不得低於 1 英吋。
  • 印表機品質:低解析度的熱感應式印表機會導致六邊形變形。
PDF417 堆疊的線性
寬長方形,形似數位雜訊。高容量。
駕駛執照(AAMVA)、身分證及紙本登機證。
  • 截斷:手持式掃描器常會漏掃左右邊緣。
  • 容量增長:隨著資料量的增加,物理容量會顯著增加。
QR 碼 具有三種獨特角點定位模式的矩陣
方陣。
消費性行銷、支付、餐廳菜單、Wi-Fi 配對。
  • 靜音區:需保留寬闊的空白邊距(寬度為 4 個模組)。
  • 密度:未經縮短的長網址會產生難以聚焦的"雜訊"。
Micro QR 微型矩陣
僅含單一角定位圖案的微型方塊。
印刷電路板 (PCBs)、小型電子元件。
  • 字元限制:最多約 35 個數字或 21 個英數字元。
  • 掃描器支援:並非所有智慧型手機相機應用程式皆支援此功能。
rMQR 矩形矩陣
:一種長而窄的條形碼,介於微型 QR 碼與標準 QR 碼之間。
試管、纜線、窄邊框、產品邊緣的細緻設計。
  • 新格式:支援度逐漸提升,但舊式掃描器尚未全面支援。
  • 長寬比:專為狹窄空間設計。

常見問題

用C#我可以建立什麼2D條碼格式?

IronBarcode支援所有主要的2D條碼格式,包括QR碼、Aztec、DataMatrix、MaxiCode、PDF417和新的rMQR格式。IronBarcode支援超過30種條碼格式,為您的C#應用提供全面的2D條碼生成解決方案。

如何只用一行代碼生成QR碼?

您可以使用IronBarcode通過單行代碼創建QR碼:var myBarcode = BarcodeWriter.CreateBarcode("Hello World", BarcodeEncoding.QRCode);這個簡單的API呼叫生成一個完全功能的QR碼,然後您可以將其保存為圖像或以各種格式匯出。

如果損壞2D條碼仍然可讀嗎?

是的,用IronBarcode生成的2D條碼有內建錯誤更正功能,即使條碼被撕裂、劃痕或標記,您的數據仍然可訪問。它們也可以從任何角度掃描,並且不需要完美對齊,使其非常適合於挑戰的掃描條件。

我的移動票務應用應該使用哪種2D條碼格式?

對於移動票務應用,如果您使用IronBarcode可以生成Aztec Codes,其無邊框緊湊設計非常適合移動屏幕。您還可以在一般移動應用中使用QR碼,或探索其他格式,如工業用途的DataMatrix或適合身份證的PDF417。

與傳統條碼相比2D條碼可以存儲多少數據?

雖然傳統的1D條碼僅可以存儲少許數字或字母,但使用IronBarcode創建的2D條碼可以存儲數千個字符,包括網頁鏈接、詳細身份資訊等。具體容量取決於格式,例如PDF417提供龐大的離線儲存容量,而DataMatrix對於更小的元件提供工業精度。

我生成的2D條碼可以以哪種檔案格式保存?

IronBarcode讓您可以將2D條碼保存為多種圖像格式。您可以使用SaveAsPng()保存PNG文件,使用SaveAsJpeg()保存JPEG圖像,以及其他多種匯出方法,將條碼保存為最適合您應用需求的格式。

我可以生成新的rMQR條碼格式嗎?

可以,IronBarcode支援新的rMQR(矩形微QR)格式以及傳統的QR碼和其他2D格式。創建條碼時只需指定BarcodeEncoding.rMQR即可生成這個現代矩形版本的QR碼。

是否提供免費試用來測試2D條碼生成功能?

是的,IronBarcode提供免費試用,讓您在購買前測試所有的2D條碼生成功能。您可以通過NuGet下載程式庫,立即開始創建QR碼、DataMatrix、Aztec代碼以及其他2D格式,以評估其是否滿足您的需求。

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

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

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

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

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備好開始了嗎?
Nuget 下載 2,240,258 | 版本: 2026.5 just released
Still Scrolling Icon

還在捲動嗎?

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