使用IRONBARCODE C# 從字串產生 BarCode:使用 IronBarcode 的完整教學 Jordi Bardia 更新:2026年3月1日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 將字串數據編碼為條碼圖像是庫存系統、零售應用和文件管理的基本要求。 本教程演示如何使用IronBarcode從字串值生成條碼——涵蓋從安裝到以多種格式保存條碼圖像、為生產使用進行樣式化,以及從數據庫數據處理大型批次的全部內容。 IronBarcode是由Iron Software開發的.NET程式庫,簡化了為.NET開發人員在構建Windows應用、網路服務和雲端託管API時的條碼生成和讀取。開始您的免費試用來參考下面的代碼示例。 如何在.NET專案中安裝IronBarcode? 使用.NET CLI或Visual Studio中的NuGet Package Manager安裝IronBarcode只需幾秒鐘。 選項1 —— .NET CLI(推薦用於.NET 10): dotnet add package Barcode dotnet add package Barcode SHELL 選項2 —— Visual Studio中的NuGet Package Manager控制台: Install-Package BarCode 或者,在NuGet Package Manager GUI中搜尋"IronBarCode"並安裝官方套件。 該程式庫支持.NET Framework 4.6.2+和.NET 5到.NET 10,確保與現代.NET工作負載的兼容性。 安裝後,在生成或讀取條碼的每個文件頂部添加一條using指令: using IronBarCode; using IronBarCode; $vbLabelText $csharpLabel 該指令公開了BarcodeEncoding和本指南中涉及的其他公共類型。 如何在C#中從字串生成簡單的條碼? BarcodeWriter.CreateBarcode方法是條碼生成的入口點。 傳入您想要編碼的字串以及GeneratedBarcode對象。 using IronBarCode; // Generate a Code 128 barcode from a product SKU string string productCode = "SKU-78432-A"; var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128); barcode.SaveAsPng("product_barcode.png"); using IronBarCode; // Generate a Code 128 barcode from a product SKU string string productCode = "SKU-78432-A"; var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128); barcode.SaveAsPng("product_barcode.png"); $vbLabelText $csharpLabel 條碼生成輸出 這會從產品字串創建一個Code128條碼圖像,並將其保存為PNG文件。CreateBarcode方法處理所有編碼複雜性,因此可以使用最少代碼生成條碼圖像。 IronBarcode支持保存為PNG、JPEG、GIF、TIFF、BMP和SVG格式。 該方法還接受可選的寬度和高度參數來控制輸出尺寸,有助於確保在目標環境中的掃描質量: using IronBarCode; // Specify width and height in pixels for the barcode image string productCode = "SKU-78432-A"; var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120); barcode.SaveAsPng("product_barcode_sized.png"); using IronBarCode; // Specify width and height in pixels for the barcode image string productCode = "SKU-78432-A"; var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120); barcode.SaveAsPng("product_barcode_sized.png"); $vbLabelText $csharpLabel 設置明確的尺寸在為熱敏標籤打印機生成標籤時特別有用,因為輸出尺寸必須精確匹配標籤紙。 IronBarcode支持哪些條碼格式? IronBarcode支持超過20種條碼類型以滿足不同的使用需求。 選擇正確的格式可以確保正確掃描並為應用提供足夠的數據容量。 using IronBarCode; string url = "https://ironsoftware.com/csharp/barcode/"; string numericId = "0123456789012"; // QR Code -- best for URLs, text data, and mobile scanning BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode) .SaveAsPng("qrcode.png"); // UPC-A -- required for retail point-of-sale systems (12 digits) BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA) .SaveAsPng("upc_barcode.png"); // PDF417 -- suited for documents that need higher data capacity BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417) .SaveAsJpeg("pdf417_barcode.jpeg"); using IronBarCode; string url = "https://ironsoftware.com/csharp/barcode/"; string numericId = "0123456789012"; // QR Code -- best for URLs, text data, and mobile scanning BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode) .SaveAsPng("qrcode.png"); // UPC-A -- required for retail point-of-sale systems (12 digits) BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA) .SaveAsPng("upc_barcode.png"); // PDF417 -- suited for documents that need higher data capacity BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417) .SaveAsJpeg("pdf417_barcode.jpeg"); $vbLabelText $csharpLabel 條碼圖像輸出 下表總結了什麼時候使用每種主要格式: IronBarcode支持的條碼格式按使用情況分類 格式最佳用途字元集 `QRCode`URLs,文本,移動掃描ASCII + Unicode `Code128`字母數字產品代碼,運輸標籤完整ASCII `UPCA` / `EAN13`零售銷售點系統僅限數字 `PDF417`身份證,登機牌,文件二進制數據 `DataMatrix`小標籤,電子產品ASCII + 二進制 `Aztec`運輸票務,移動登機ASCII + Unicode 要查看完整支持編碼列表,請訪問IronBarcode條碼類型參考。 如何在C#中自定義和樣式化條碼圖像? 除了基本條碼生成外,IronBarcode還提供流利的樣式API來調整顏色、添加註解以及無需外部圖像處理程式庫即可調整條碼圖像的大小。 using IronBarCode; using IronSoftware.Drawing; string orderNumber = "ORD-2024-00542"; var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128); // Adjust colors to match brand identity styledBarcode.ChangeBarCodeColor(Color.DarkBlue); styledBarcode.ChangeBackgroundColor(Color.White); // Add readable text annotations above and below the bars styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5); styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5); // Resize to fit a thermal label at 400 x 150 pixels styledBarcode.ResizeTo(400, 150); styledBarcode.SaveAsPng("styled_order_barcode.png"); using IronBarCode; using IronSoftware.Drawing; string orderNumber = "ORD-2024-00542"; var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128); // Adjust colors to match brand identity styledBarcode.ChangeBarCodeColor(Color.DarkBlue); styledBarcode.ChangeBackgroundColor(Color.White); // Add readable text annotations above and below the bars styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5); styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5); // Resize to fit a thermal label at 400 x 150 pixels styledBarcode.ResizeTo(400, 150); styledBarcode.SaveAsPng("styled_order_barcode.png"); $vbLabelText $csharpLabel 樣式化的條碼輸出 有哪些樣式屬性可用? GeneratedBarcode類別公開了幾種樣式方法類別: 顏色控制——Color 文本註解——使用自定義字體、大小和顏色在條碼上方或下方添加文本 邊距控制——設置條碼周圍的內邊距,以提高掃描儀在雜亂標籤上的性能 旋轉——將條碼圖像側向或對角旋轉以適應需要豎向佈局的標籤佈局 調整大小——在不失真編碼數據的情況下修正寬度和高度像素 樣式方法自然鏈接在一起,保持代碼可讀,同時生成符合應用程序視覺設計的條碼圖像。 欲獲得更深入的介紹,請參見條碼樣式化指南。 如何從數據庫數據生成多個條碼? 現實世界應用程序經常需要為集合項目生成條碼——例如產品目錄、庫存補貨運行或訂單發送工作流程。 IronBarcode無需額外配置即可處理批量處理。 using IronBarCode; // Data sourced from a database query result List<string> productIds = [ "PROD-001-X", "PROD-002-Y", "PROD-003-Z", "PROD-004-W" ]; // Generate one barcode image per product ID foreach (string productId in productIds) { var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100); barcode.SaveAsPng($"barcodes/{productId}.png"); } using IronBarCode; // Data sourced from a database query result List<string> productIds = [ "PROD-001-X", "PROD-002-Y", "PROD-003-Z", "PROD-004-W" ]; // Generate one barcode image per product ID foreach (string productId in productIds) { var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100); barcode.SaveAsPng($"barcodes/{productId}.png"); } $vbLabelText $csharpLabel 輸出條碼 擴展到高批量 上述循環模式在不進行修改的情況下可擴展到成千上萬的記錄。 對於高容量條碼生成,IronBarcode支持異步和多線程操作,以最大限度地提高多核伺服器上的吞吐量。 生成的條碼圖像可以嵌入到PDF報告中,打印到標籤上,或者儲存在文件管理系統中。 每個圖像將原始字串編碼為條碼掃描器解碼回文本的二進制模式。 對於生成每次運行數千個條碼的生產批次作業,請考慮在循環開始之前預熱IronBarcode引擎。 第一次調用CreateBarcode初始化內部編碼緩存; 同一過程中的後續調用因此執行得更快。 將整個批次包裝在一個單獨計時方法中,這樣在批次終止之前記錄聚合統計數據——生成的總條碼數、任何編碼失敗以及經過的時間——也更加簡單。 這個模式可以很好地整合到背景作業框架中,如Hangfire或.NET的內置IHostedService,用於排程生成任務。 如何在不同文件格式中保存和匯出條碼? GeneratedBarcode提供涵蓋商業應用中最常用圖像格式的多種保存方法: using IronBarCode; string value = "EXPORT-TEST-001"; var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120); // Save to disk in multiple formats barcode.SaveAsPng("barcode.png"); // Lossless -- best for print barcode.SaveAsJpeg("barcode.jpg"); // Compressed -- smaller file size barcode.SaveAsGif("barcode.gif"); // Compatible with legacy systems barcode.SaveAsTiff("barcode.tiff"); // Multi-page archival format barcode.SaveAsBmp("barcode.bmp"); // Uncompressed bitmap // Export as a byte array for in-memory operations (API responses, database storage) byte[] pngBytes = barcode.ToStream(Image格式.Png).ToArray(); using IronBarCode; string value = "EXPORT-TEST-001"; var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120); // Save to disk in multiple formats barcode.SaveAsPng("barcode.png"); // Lossless -- best for print barcode.SaveAsJpeg("barcode.jpg"); // Compressed -- smaller file size barcode.SaveAsGif("barcode.gif"); // Compatible with legacy systems barcode.SaveAsTiff("barcode.tiff"); // Multi-page archival format barcode.SaveAsBmp("barcode.bmp"); // Uncompressed bitmap // Export as a byte array for in-memory operations (API responses, database storage) byte[] pngBytes = barcode.ToStream(Image格式.Png).ToArray(); $vbLabelText $csharpLabel 選擇正確的格式取決於下游的消費方。 PNG非常適合用於打印準備的標籤和文件。 JPEG適用於需要限制儲存尺寸的應用程序。 對於直接在PDF文件中嵌入條碼,IronBarcode與IronPDF整合,可通過程式添加或插入條碼圖像。 ToStream重載在Web API和雲功能中特別有價值,在這裡寫入磁碟並不是理想選擇。 字節數組可以儲存在數據庫BLOB列中,或上傳到雲端儲存,或者直接流式傳輸到HTTP應答,而無需在文件系統上進行任何中間文件操作。 如何在編碼之前驗證字串數據? 並非每個字串都適合於每種條碼格式。 UPC-A需要正好12位數字,EAN-13需要13位,一些一維格式拒絕ASCII外部的字元。 將無效數據傳遞給IronBarCodeEncodingException。 將調用包裝在try/catch塊中並預先驗證輸入可以防止在生產中的未處理異常: using IronBarCode; bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath) { if (string.IsNullOrWhiteSpace(value)) { Console.WriteLine("Value must not be empty."); return false; } try { var barcode = BarcodeWriter.CreateBarcode(value, encoding); barcode.SaveAsPng(outputPath); return true; } catch (IronBarCodeEncodingException ex) { Console.WriteLine($"Encoding failed: {ex.Message}"); return false; } } // Usage TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png"); // succeeds TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png"); // encoding exception using IronBarCode; bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath) { if (string.IsNullOrWhiteSpace(value)) { Console.WriteLine("Value must not be empty."); return false; } try { var barcode = BarcodeWriter.CreateBarcode(value, encoding); barcode.SaveAsPng(outputPath); return true; } catch (IronBarCodeEncodingException ex) { Console.WriteLine($"Encoding failed: {ex.Message}"); return false; } } // Usage TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png"); // succeeds TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png"); // encoding exception $vbLabelText $csharpLabel 為輸入數據選擇正確的格式 當條碼格式在運行時可配置時,一個將內容類型映射到合適編碼的助手可避免靜默失敗: 當字符串包含URLs、電子郵件地址或多字節Unicode字符時,使用BarcodeEncoding.QRCode。 對於通用字母數字字符串(大約80個字符),使用BarcodeEncoding.Code128。 僅當數據純數字且長度固定時,使用BarcodeEncoding.UPCA。 來自IronBarcode的校驗位由系統自動計算。 對於必須在實體小標籤上適應的非常短的字母數字字符串,使用BarcodeEncoding.DataMatrix。 在調用CreateBarcode之前添加格式驗證可以將錯誤消息保持面向用户,而不是應用程序日誌中的神秘堆棧跟蹤。 如何從字符串值讀取條碼? 在許多系統中,生成條碼只是工作流程的一半。 條碼讀取API使用BarcodeReader.Read將圖像解碼回原始字串。 using IronBarCode; // Read all barcodes from an image file var results = BarcodeReader.Read("product_barcode.png"); foreach (var result in results) { // Output the decoded string value Console.WriteLine($"Decoded value: {result.Value}"); Console.WriteLine($"格式 detected: {result.BarcodeType}"); } using IronBarCode; // Read all barcodes from an image file var results = BarcodeReader.Read("product_barcode.png"); foreach (var result in results) { // Output the decoded string value Console.WriteLine($"Decoded value: {result.Value}"); Console.WriteLine($"格式 detected: {result.BarcodeType}"); } $vbLabelText $csharpLabel 這使得構建回送條碼工作流程變得簡單——從產品記錄生成條碼,將其保存到磁碟或打印隊列中,然後稍後掃描實體標籤並解碼值以查找記錄。 對於從PDF文件或實時攝像頭中讀取條碼,IronBarcode提供了同樣簡單的API的專用方法。 如何在ASP.NET Core Web API中使用IronBarcode? IronBarcode在ASP.NET Core控制器和最小API處理程序中工作。 最常見的模式是將條碼圖像作為文件結果或base64編碼的數據URI返回,以便在瀏覽器中呈現。 using IronBarCode; using Microsoft.AspNetCore.Mvc; var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); // Minimal API endpoint -- returns a barcode PNG for the given value app.MapGet("/barcode/{value}", (string value) => { var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120); byte[] imageBytes = barcode.ToStream(Image格式.Png).ToArray(); return Results.File(imageBytes, "image/png"); }); app.Run(); using IronBarCode; using Microsoft.AspNetCore.Mvc; var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); // Minimal API endpoint -- returns a barcode PNG for the given value app.MapGet("/barcode/{value}", (string value) => { var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120); byte[] imageBytes = barcode.ToStream(Image格式.Png).ToArray(); return Results.File(imageBytes, "image/png"); }); app.Run(); $vbLabelText $csharpLabel 端點按需生成條碼,適用於任何在URL路徑中傳入的值。 對於生產部署,添加快取以便對同一條碼值的重複請求不會重新生成圖像。 參見完整的ASP.NET條碼生成教程獲取更詳細的介紹,包括依賴注入和回應快取。 你的下一步行動是什麼? 使用IronBarcode在C#中從字串數據生成條碼很簡單。 流暢的API處理條碼編碼的複雜性,同時提供定制和批次處理的靈活性。 無論目标是庫存的简单Code 128條碼还是移動應用的QR碼,IronBarcode為.NET應用提供可靠的條碼功能。 欲進一步了解: 下載IronBarcode,並在您本機運行本指南中的代碼示例 購買授權用於生產部署——授權以免費試用期開始 瀏覽文檔以獲取API參考、高級配置和平台特定注釋 探索代碼示例涵蓋QR碼生成、條碼掃描、PDF整合等更多內容 ASP.NET條碼整合——在MVC視圖和Razor頁面中渲染條碼的完整指南 條碼掃描整合——從圖像、PDFs和USB掃描器中讀取條碼在C#中 現在開始使用 IronBarcode。 免費啟動 常見問題解答 如何在C#中安裝IronBarcode以生成條碼? 從.NET CLI運行 'dotnet add package Barcode',或者在Visual Studio中打開NuGet套件管理器,搜尋 'IronBarCode' 並安裝官方套件。 使用IronBarcode可以從字串生成哪些條碼格式? IronBarcode支持超過20種格式,包括QR Code、Code 128、UPC-A、EAN-13、PDF417、Data Matrix和Aztec。格式是通過BarcodeEncoding列舉類型指定的。 使用IronBarcode生成的條碼外觀可以自訂嗎? 可以。IronBarcode提供方法來改變條碼顏色、背景顏色、在條碼上方或下方添加文字註釋、設定邊距、調整大小以及旋轉輸出影像。 IronBarcode支持批量條碼生成嗎? 是的。遍歷清單或資料庫結果集,並對每個值調用BarcodeWriter.CreateBarcode。在非常高的工作量下,IronBarcode還支持異步和多執行緒操作。 IronBarcode可以將條碼保存為哪些影像格式? IronBarcode可以將條碼保存為PNG、JPEG、GIF、TIFF、BMP和SVG格式。ToStream方法返回一個字節數組,用於在不寫入磁碟的情況下在記憶體中使用。 如何使用IronBarcode將字串編碼為條碼? 調用BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128),其中value是字串,BarcodeEncoding指定格式。然後在返回的GeneratedBarcode對象上調用SaveAsPng或其他保存方法。 IronBarcode支持哪些.NET版本? IronBarcode支持.NET Framework 4.6.2及更高版本,另外還支持.NET 5到.NET 10,涵蓋舊版和現代.NET工作負載。 IronBarcode可以用於ASP.NET Core網頁應用嗎? 可以。IronBarcode可以在控制器和最小API處理器中使用。一個常見的模式是調用CreateBarcode,將結果轉換為字節陣列並使用ToStream,然後將其作為文件結果從端點返回。 如何在C#中將條碼讀回其原始字串? 使用BarcodeReader.Read(filePath)解碼影像。此方法返回一個BarcodeResult對象集合,每個對象包含解碼后的Value字串和檢測到的BarcodeType。 IronBarcode有試用版嗎? 有的。IronBarcode提供免費試用授權,允許在承諾付費授權進行生產部署之前完全評估所有功能。 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條碼圖像-無字體依賴。提供免費試用。 閱讀更多 如何在C#中使用IronBarcode生成條碼在ASP.NET Core Web Apps中生成條碼
發表日期 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條碼圖像-無字體依賴。提供免費試用。 閱讀更多