使用IRONBARCODE C#中的Data Matrix生成器——完整教程及代碼示例 Jordi Bardia 更新:2026年3月1日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 資料矩陣條碼將大量的編碼資料壓縮到一個很小的實體區域內,因此成為藥品標籤、電子元件標記以及在空間有限的庫存管理系統中追蹤物品的首選。 本教學將引導您了解如何使用IronBarcode在 C# 中產生 Data Matrix 條碼,自訂其外觀,編碼不同的資料類型,並將其匯出為各種檔案格式——所有這些都使用簡單易懂、可用於生產的程式碼完成。 立即開始在您的項目中使用 IronBarcode 並免費試用。 第一步: 免費啟動 資料矩陣條碼有何特別之處? 資料矩陣條碼是二維符號,它將資料編碼到排列成行和列的黑白點陣網格中。 與傳統的線性條碼(如 UPC 或 EAN)不同,它們可以在 10 x 10 個模組大小的空間內儲存多達 2,335 個字母數字字元或 3,116 個數字。 由於內建的里德-所羅門糾錯功能,即使符號損壞高達 30%,現代條碼掃描器也能準確讀取它們。 這些特性使得 Data Matrix 成為標記小型零件、郵政條碼和電子元件的理想選擇,也適用於醫療保健和物流中心的標籤製作。 醫療保健產業依賴GS1資料矩陣標準進行藥品追踪,而製造商則將其嵌入生產線,用於在全球範圍內識別產品。由於單一條碼可以儲存大量數據,因此如今已被國際上各行業廣泛採用,以實現完整的應用追溯。 ISO/IEC 16022 標準規範了資料矩陣編碼,定義了IronBarcode預設使用的 ECC200 變體。 ECC200 提供所有 Data Matrix 版本中最有效的糾正能力和最大的資料容量,使其成為新部署的正確選擇。 資料矩陣與常用條碼格式 格式 類型 最大字元數 錯誤糾正 典型用例 數據矩陣(ECC200) QR 圖 2,335 字母數字 里德-所羅門(約30%) 醫藥、電子、物流 QR 圖碼 QR 圖 4,296 字母數字 里德-所羅門(高達 30%) 網址、行銷、支付 UPC-A 1D 12位數字 沒有任何 零售產品標識 代碼 128 1D 約50個字符 僅校驗和 航運、一般物流 如何在 C# 專案中安裝條碼庫? 使用NuGet套件管理器安裝IronBarcode只需不到一分鐘。 在 Visual Studio 中開啟程式包管理器控制台並執行: Install-Package BarCode 或者,在NuGet套件管理器 GUI 中搜尋Iron Software的BarCode 。 安裝完成後,將命名空間新增至您的 C# 檔案: using IronBarCode; using IronBarCode; $vbLabelText $csharpLabel 這就是全部的準備工作了。 IronBarcode會依照 ISO/IEC 16022 標準在內部處理所有複雜的 Data Matrix 編碼,因此您可以專注於應用程式邏輯。 如需離線安裝或自訂套件來源等其他設定選項,請參閱IronBarcode安裝指南和進階NuGet安裝頁面。 支援的目標框架 IronBarcode 的目標平台為.NET 10、 .NET 8、 .NET 6、 .NET 5、 .NET Standard 2.0 和.NET Framework 4.6.2 及更高版本。 如果您的專案面向這些框架中的任何一個,則NuGet套件無需額外配置即可安裝。 如何建立您的第一個資料矩陣條碼? 產生 Data Matrix 條碼只需要一行程式碼: // Create a Data Matrix barcode with product information var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix); // Save as a high-quality PNG image myBarcode.SaveAsImage("product-label.png"); // Create a Data Matrix barcode with product information var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix); // Save as a high-quality PNG image myBarcode.SaveAsImage("product-label.png"); $vbLabelText $csharpLabel 這段程式碼會建立一個資料矩陣條碼,編碼文字為 PROD-12345-2024,並將其儲存為 PNG 檔案。參數 BarcodeWriterEncoding.DataMatrix 指示IronBarcode使用資料矩陣格式。 產生的條碼會自動套用 ECC200 規範,該規範包含內建糾錯功能,可確保在實際條件下可靠掃描。 條碼輸出 如需立即在應用程式中使用,請將條碼擷取為點陣圖或直接匯出為 PDF: // Get barcode as a bitmap for direct display in a UI control var barcodeBitmap = myBarcode.ToBitmap(); // Save as PDF for document integration myBarcode.SaveAsPdf("barcode-document.pdf"); // Get barcode as a bitmap for direct display in a UI control var barcodeBitmap = myBarcode.ToBitmap(); // Save as PDF for document integration myBarcode.SaveAsPdf("barcode-document.pdf"); $vbLabelText $csharpLabel IronBarcode支援匯出為 PNG、JPEG、BMP、GIF、TIFF、SVG 和 PDF 格式。 您也可以建立條碼並將其新增至現有的 PDF 文件中,以便將其嵌入到採購訂單、發票或出貨清單中。 資料矩陣條碼可以編碼哪些資料類型? Data Matrix 支援多種編碼模式,每種模式都針對不同的字元集進行了最佳化。 IronBarcode會根據您提供的內容自動選擇最高效的模式: // Encode alphanumeric product codes var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix); productCode.SaveAsImage("product-code.png"); // Encode numeric serial numbers (numeric mode uses less space) var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix); serialNumber.SaveAsImage("serial-number.png"); // Encode URLs for product landing pages or support portals var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix); urlCode.SaveAsImage("url-datamatrix.png"); // Encode Unicode text for international applications var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix); unicodeBarcode.SaveAsImage("unicode-datamatrix.png"); // Encode alphanumeric product codes var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix); productCode.SaveAsImage("product-code.png"); // Encode numeric serial numbers (numeric mode uses less space) var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix); serialNumber.SaveAsImage("serial-number.png"); // Encode URLs for product landing pages or support portals var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix); urlCode.SaveAsImage("url-datamatrix.png"); // Encode Unicode text for international applications var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix); unicodeBarcode.SaveAsImage("unicode-datamatrix.png"); $vbLabelText $csharpLabel 數字資料採用緊湊的編碼模式,與字母數字文字相比,可縮小條碼尺寸。 二進位編碼無需手動設定即可處理特殊字元和Unicode文字。 IronBarcode會自動選擇最有效的編碼模式,因此您無需明確指定。 輸出 這裡,所有四種資料類型都已成功編碼為有效的 Data Matrix 條碼。 若要深入了解編碼選項和字元集支持,請參閱IronBarcode編碼文件和條碼資料類型參考。 如何自訂資料矩陣條碼的外觀? IronBarcode提供了一整套條碼自訂選項,用於控制尺寸、顏色、註解和邊距: // Create barcode with custom styling var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix); // Set specific dimensions in pixels customBarcode.ResizeTo(500, 500); // Adjust colors for special label requirements customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue); customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray); // Add human-readable text below the barcode symbol customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024"); // Set margins to preserve the required quiet zone customBarcode.SetMargins(10); customBarcode.SaveAsImage("custom-datamatrix.png"); // Create barcode with custom styling var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix); // Set specific dimensions in pixels customBarcode.ResizeTo(500, 500); // Adjust colors for special label requirements customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue); customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray); // Add human-readable text below the barcode symbol customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024"); // Set margins to preserve the required quiet zone customBarcode.SetMargins(10); customBarcode.SaveAsImage("custom-datamatrix.png"); $vbLabelText $csharpLabel 這些客製化服務有助於滿足企業品牌推廣要求或特定標籤標準。 ResizeTo 方法保持了正確的模組比例,這對於在任何掃描器距離下 Data Matrix 的可讀性至關重要。 顏色變化是為了適應特殊的印刷工藝或承印物限制,例如彩色標籤或金屬材料。 SetMargins 設定的靜默區裕度滿足 ISO/IEC 16022 規範中定義的最小空白要求。 選擇合適的條碼尺寸 Data Matrix 條碼的最小可讀尺寸取決於掃描器和列印解析度。 對於一般用途的掃描,建議使用至少 0.3 毫米的模組尺寸。 在 300 DPI 列印解析度下,500 像素的條碼尺寸約為 42 毫米見方——足以滿足可靠的手持掃描需求。 對於較小的標籤,增加 DPI 或減少資料有效載荷,使符號保持在可掃描的尺寸範圍內。 如何批次產生多個條碼? 批量生成功能減少了創建大量資料矩陣碼(用於生產運行、運輸標籤或序列化庫存)所需的工作量: // Generate barcodes for a batch of products string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" }; foreach (string id in productIds) { var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix); batchBarcode.ResizeTo(150, 150); batchBarcode.AddAnnotationTextBelowBarcode(id); // Save each barcode with a unique filename string filename = $"barcode_{id.Replace("-", "_")}.png"; batchBarcode.SaveAsImage(filename); } // Generate barcodes for a batch of products string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" }; foreach (string id in productIds) { var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix); batchBarcode.ResizeTo(150, 150); batchBarcode.AddAnnotationTextBelowBarcode(id); // Save each barcode with a unique filename string filename = $"barcode_{id.Replace("-", "_")}.png"; batchBarcode.SaveAsImage(filename); } $vbLabelText $csharpLabel 這種模式適用於需要大量標籤集的物流和醫療保健工作流程,每個標籤集都與一個唯一的識別碼相關聯。 對於 Web 應用程序,直接在 PDF 文件上添加條碼或將其作為字節數組進行串流傳輸,可以實現即時標籤生成,而無需保存中間文件。 面向大批量資料的非同步和多線程處理 當產生數千個條碼時,同步處理會成為瓶頸。 IronBarcode提供非同步和多執行緒處理功能,讓您在多個 CPU 核心上並行產生條碼。 對於 10,000 個標籤的批次處理,與順序循環相比,平行處理可以將總生成時間減少一個數量級。 對於高吞吐量場景,可以考慮使用IronBarcode 的 PDF 沖壓 API將條碼分組到 PDF 表格中,而不是保存數千個單獨的映像文件,這可能會在 Windows 和 Linux 部署中造成文件系統開銷。 如何讀取和驗證資料矩陣條碼? 產生條碼只是工作流程的一半——驗證掃描器能否正確讀取條碼才是品質控制閉環的最後一步。 IronBarcodeIronBarcode條碼讀取器,可讓您在產生條碼後立即解碼: // Generate a barcode var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix); generated.SaveAsImage("verify-test.png"); // Read it back to confirm correct encoding var results = BarcodeReader.Read("verify-test.png"); foreach (var result in results) { Console.WriteLine($"Decoded value: {result.Value}"); Console.WriteLine($"格式: {result.Barcode類型}"); } // Generate a barcode var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix); generated.SaveAsImage("verify-test.png"); // Read it back to confirm correct encoding var results = BarcodeReader.Read("verify-test.png"); foreach (var result in results) { Console.WriteLine($"Decoded value: {result.Value}"); Console.WriteLine($"格式: {result.Barcode類型}"); } $vbLabelText $csharpLabel 這種往返驗證模式在受監管的行業(例如製藥業)中尤其有價值,因為《藥品供應鏈安全法案》(DSCSA) 規定處方藥包裝上的序列化條碼必須既是機器可讀的,又是格式正確的。 在生成流程中執行回讀檢查,可以在標籤到達生產線之前捕獲編碼錯誤。 如需更進階的讀取場景,請參閱IronBarcode讀取文件和從 PDF 讀取條碼指南。 常見的掃描相容性注意事項 不同掃描器韌體版本對資料矩陣符號的解讀有差異,對靜區和模組對比的容忍度也不同。如果目標裝置是舊款手持掃描器,則應增加模組尺寸,使用高對比的黑底白字,並確保靜區寬度至少為兩個模組的寬度。 GS1應用識別碼指南提供了在單一資料矩陣符號中編碼供應鏈識別碼(例如批號、有效期限和 GTIN)的模式。 下一步計劃是什麼? 使用IronBarcode在 C# 中產生 Data Matrix 條碼遵循一致的模式:安裝NuGet包,呼叫 BarcodeWriter.CreateBarcode 和 BarcodeWriterEncoding.DataMatrix,套用任何所需的自訂項,然後匯出為目標格式。 同一個 API 可以處理從單一條碼原型到大批量管線的所有操作。 以下是進一步推進此專案的推薦路徑: -探索條碼讀取: IronBarcode讀取指南涵蓋了從影像、PDF 和即時攝影機串流中解碼條碼。 -嘗試其他 QR 圖 格式: IronBarcode也使用相同的 API 產生QR 碼、PDF417、Aztec 和所有主要的 1D 格式。 -在文件中嵌入條碼: PDF 加蓋條碼教學課程展示如何以程式設計方式為現有 PDF 新增條碼。 -利用非同步處理進行擴充:查看非同步和多執行緒指南,以並行化大型批次作業。 -查看許可:IronBarcode許可頁面列出了從開發者到 OEM 再分發的各種選項。 開始免費試用,即可不受限制地測試所有功能,或查看完整的IronBarcode文檔,以取得詳細的 API 參考和其他程式碼範例。 立即開始在您的項目中使用 IronBarcode 並免費試用。 第一步: 免費啟動 常見問題解答 什麼是 Data Matrix 條碼? Data Matrix 條碼是一種由 ISO/IEC 16022 標準管理的 2D 符號,可以在小的網格中編碼最多 2,335 個字母數字字符或 3,116 個數字。它通常用於藥品標籤、電子產品標記和庫存管理。 如何在 C# 中生成 Data Matrix 條碼? 呼叫 BarcodeWriter.CreateBarcode 並將您的數據字串和 BarcodeWriterEncoding.DataMatrix 作為參數,然後在結果上呼叫 SaveAsImage 或 SaveAsPdf。IronBarcode 自動處理 ECC200 編碼和錯誤修正。 使用 IronBarcode 產生 Data Matrix 有哪些好處? IronBarcode 可以在一行程式碼中生成 ECC200 Data Matrix 條碼,自動處理編碼模式選擇,並可導出到 PNG、PDF、SVG 和其他格式,無需額外的依賴。 IronBarcode能否將Data Matrix條碼匯出為不同的檔案格式? 是的。IronBarcode 可將 Data Matrix 條碼導出為 PNG、JPEG、BMP、GIF、TIFF、SVG 和 PDF。您也可以直接將條碼加蓋在現有的 PDF 文件中。 是否可以使用 IronBarcode 自訂 Data Matrix 條碼? 是的。IronBarcode 提供 ResizeTo 設計尺寸,ChangeBarCodeColor 和 ChangeBackgroundColor 設計顏色,AddAnnotationTextBelowBarcode 提供可讀文字,SetMargins 控制靜默區域。 Data Matrix條碼特別適用於哪些產業? Data Matrix 條碼在製藥行業用於 DSCSA 合規,在電子產品中用於元件識別,在物流中用於包裹跟踪,在醫療保健中用於符合 GS1 的藥品標籤。 IronBarcode 生成哪個版本的 Data Matrix? IronBarcode 預設生成 ECC200 Data Matrix 條碼。ECC200 是當前的 ISO/IEC 16022 標準版本,提供最高的數據容量和 Reed-Solomon 錯誤修正。 為什麼選擇使用 Data Matrix 條碼而非其他 2D 碼? Data Matrix 條碼因其在小的物理面積下的高數據密度、可承受多達 30% 符號損壞的 Reed-Solomon 錯誤修正和已獲得全球監管行業認可的 ISO/IEC 標準化而受到青睞。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多 發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多 更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多 IronBarcode 與開源條碼閱讀器 .NET 的對比如何使用VB.NET在Crystal Report...
發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多
發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多
更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多