IronBarcode 操作指南 從文本、URL、ID、數字和二進制數據創建條形碼 在 C# 中從文字、網址、ID 和二進位資料建立 BarCode; Hairil Hasyimi Bin Omar 更新:2026年1月10日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronBarcode 使 C# 開發人員能夠使用 BarcodeWriter.CreateBarcode() 方法從多種資料來源(包括字串、位元組陣列和記憶體流)生成條碼,並支援多種條碼格式,如 QR Code、Code128 和 PDF417。 快速入門:一行程式碼即可從字串建立條碼 使用 IronBarcode 的 API 生成条形码,只需最少的设置。本範例展示了如何僅使用一行代碼從一個簡單的字串中創建一個條碼。 如需全面的範例,請查看 BarCode Quickstart 指南。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronBarcode PM > Install-Package BarCode 複製並運行這段程式碼。 var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronBarcode,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載 C# 庫,用於從資料建立條碼 使用 CreateBarcode 方法以 System.String 輸入建立條碼 使用 CreateBarcode 方法以 System.Byte[] 輸入建立條碼 使用 CreateBarcode 方法使用 System.IO.Stream 輸入建立條碼 將生成的條形碼以多種圖像格式保存 如何從字串建立 BarCode? 哪些條碼格式最適合不同的字串類型? 不同的 BarCode 格式會針對特定的資料類型和使用情況進行最佳化。 瞭解支援的 BarCode 格式有助於選擇正確的編碼: QR 碼:最適合 網址、電子郵件地址和大型文字資料。 支援多達 4,296 個字母數位字元,並具備 錯誤修正功能。 Code128:非常適用於字母數字資料,例如訂單號碼和序列代碼。 適用於現代應用程式的高效率。 PDF417:非常適合複雜的資料,例如機票和政府身分證。 最多可儲存 1,850 個字母與數位字元。 Code93:對於郵政服務和庫存追蹤緊湊的數字資料來說是極佳的選擇。 Aztec:最適合用於行動票務和運輸,所需空間比 QR 代碼少。 以下程式碼示範如何使用字串寫入 BarCode: :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs using IronBarCode; string text = "Hello, World!"; string url = "https://ironsoftware.com/csharp/barcode/"; string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id) string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id) string number = "1234"; BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png"); BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png"); BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png"); BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png"); BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png"); Imports IronBarCode Private text As String = "Hello, World!" Private url As String = "https://ironsoftware.com/csharp/barcode/" Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id) Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id) Private number As String = "1234" BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png") BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png") BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png") BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png") BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png") $vbLabelText $csharpLabel 產生的 BarCode 結果為何? 此代碼將五種不同的資料範例編碼為五種條碼類型:簡單文字轉換為 Aztec、網址 轉換為 QR Code、數字 ID 轉換為 Code 93、字母數字 ID 轉換為 PDF417,以及數字轉換為 Codabar。 圖片以 PNG 格式儲存。 如需進階的匯出選項,請參閱 Create BarCode as Image 指南。 Text 網址 收據編號 航班號碼 數位 如何自訂產生的 BarCode? 創建您的條碼後,使用 IronBarcode 的造型功能增強其外觀。 以下是如何使用顏色、註解和邊界建立自訂的 BarCode: using IronBarCode; // Create a barcode with custom styling GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128); // Apply custom styling myBarcode.ResizeTo(300, 100); myBarcode.SetMargins(10); myBarcode.ChangeBarCodeColor(Color.DarkBlue); // Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12); // Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png"); using IronBarCode; // Create a barcode with custom styling GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128); // Apply custom styling myBarcode.ResizeTo(300, 100); myBarcode.SetMargins(10); myBarcode.ChangeBarCodeColor(Color.DarkBlue); // Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12); // Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png"); Imports IronBarCode ' Create a barcode with custom styling Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128) ' Apply custom styling myBarcode.ResizeTo(300, 100) myBarcode.SetMargins(10) myBarcode.ChangeBarCodeColor(Color.DarkBlue) ' Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode() myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12) ' Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png") $vbLabelText $csharpLabel 如需更多樣式選項,請參閱 自訂和樣式 BarCode 教學。 如何從 Byte Array 建立 BarCode? 為什麼字元編碼對於位元陣列條碼來說很重要? 若要從位元組陣列建立條碼,請確保字元編碼與所需的 BarcodeEncoding 對齊,因為每種條碼類型都接受不同的字元編碼。 瞭解輸出資料格式可確保相容性。 以下是 IronBarcode 可用的字元編碼: ASCII:每個字元使用 7 位元來表示英文字母、數字和標點符號。 例如:'A' = 65。 UTF-8:適用於所有 Unicode 字元的變長編碼。 例如:€ = 0xE2 0x82 0xAC。 UTF-16:使用 16 位元序列的 Unicode。 範例:α = 0x03B1。 UTF-32:每個字元的固定 32 位元序列。 範例:α = 0x000003B1。 ISO-8859-1:為西歐語言擴展 ASCII。 範例:é = 233。 IronBarcode 的預設字元編碼是 ISO-8859-1。 如何將位元組轉換為 BarCode? 以下程式碼示範從 byte 資料產生 BarCode: :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs using IronBarCode; using System.Text; byte[] text = Encoding.UTF8.GetBytes("Hello, World!"); byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"); byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id) byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id) byte[] number = Encoding.UTF8.GetBytes("1234"); BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png"); BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png"); BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png"); BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png"); BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png"); Imports IronBarCode Imports System.Text Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!") Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/") Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id) Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id) Private number() As Byte = Encoding.UTF8.GetBytes("1234") BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png") BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png") BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png") BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png") BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png") $vbLabelText $csharpLabel 此片段將五個字串輸入轉換為 System.Byte[] 物件。 要將這些位元組陣列轉換成條碼,請將它們以所需的 BarcodeEncoding 傳送給 BarcodeWriter 。 可選擇設定 MaxWidth 和 MaxHeight 為條碼大小。 處理二進位資料和特殊字元 在處理二進位資料或特殊字符時,請使用 Writing Unicode BarCode 以取得國際字元支援。 以下是處理二進位資料的範例: using IronBarCode; using System.Text; using System.IO; // Example: Encoding binary data (like a small file) into QR Code byte[] binaryData = File.ReadAllBytes("document.pdf"); string base64Data = Convert.ToBase64String(binaryData); // Create QR code with high error correction for binary data GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode( base64Data, BarcodeEncoding.QRCode ); // Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High); // Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500); binaryBarcode.SaveAsPng("binary-data-qr.png"); using IronBarCode; using System.Text; using System.IO; // Example: Encoding binary data (like a small file) into QR Code byte[] binaryData = File.ReadAllBytes("document.pdf"); string base64Data = Convert.ToBase64String(binaryData); // Create QR code with high error correction for binary data GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode( base64Data, BarcodeEncoding.QRCode ); // Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High); // Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500); binaryBarcode.SaveAsPng("binary-data-qr.png"); Imports IronBarCode Imports System.Text Imports System.IO ' Example: Encoding binary data (like a small file) into QR Code Dim binaryData As Byte() = File.ReadAllBytes("document.pdf") Dim base64Data As String = Convert.ToBase64String(binaryData) ' Create QR code with high error correction for binary data Dim binaryBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(base64Data, BarcodeEncoding.QRCode) ' Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High) ' Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500) binaryBarcode.SaveAsPng("binary-data-qr.png") $vbLabelText $csharpLabel 如何從記憶體串流建立 BarCode? 何時應該使用記憶體串流來產生 BarCode? 記憶體串流在處理不需要磁碟儲存的資料時效果最佳,例如網頁應用程式中動態產生的內容或資料庫處理。 Export BarCode as Stream 指南提供了基於流的工作流程的其他上下文。 以下程式碼示範從記憶體串流產生 BarCode: :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs using IronBarCode; using System.IO; using System.Text; MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!")); MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")); MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id) MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id) MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234")); BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png"); BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png"); BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png"); BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png"); BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png"); Imports IronBarCode Imports System.IO Imports System.Text Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!")) Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")) Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id) Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id) Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234")) BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png") BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png") BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png") BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png") BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png") $vbLabelText $csharpLabel 使用記憶體串流有哪些好處? 此片段從 System.Byte[] 物件建立 MemoryStream ,然後將其作為 BarcodeWriter.CreateBarcode() 的輸入,從記憶體串流資料產生條碼。 記憶體串流提供了幾項優勢: 1.效能:無磁碟 I/O 作業,臨時資料處理速度更快 2.安全性:資料保留在記憶體中,減少敏感資訊曝光 3.彈性:輕鬆與基於流的 API 和函式庫整合 4.資源效率:自動記憶體管理與處理 進階流處理範例 對於涉及串流處理的複雜情況,請結合 IronBarcode 與其他串流作業: using IronBarCode; using System.IO; using System.Text; // Example: Processing multiple barcodes in a batch using streams public static List<Stream> GenerateBarcodeStreams(List<string> dataItems) { var barcodeStreams = new List<Stream>(); foreach (var item in dataItems) { // Convert string to stream var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item)); // Generate barcode from stream var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128); // Export barcode back to stream var outputStream = new MemoryStream(); barcode.SaveAsPng(outputStream); outputStream.Position = 0; // Reset position for reading barcodeStreams.Add(outputStream); } return barcodeStreams; } // Usage example var order數位s = new List<string> { "ORD-001", "ORD-002", "ORD-003" }; var barcodes = GenerateBarcodeStreams(order數位s); using IronBarCode; using System.IO; using System.Text; // Example: Processing multiple barcodes in a batch using streams public static List<Stream> GenerateBarcodeStreams(List<string> dataItems) { var barcodeStreams = new List<Stream>(); foreach (var item in dataItems) { // Convert string to stream var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item)); // Generate barcode from stream var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128); // Export barcode back to stream var outputStream = new MemoryStream(); barcode.SaveAsPng(outputStream); outputStream.Position = 0; // Reset position for reading barcodeStreams.Add(outputStream); } return barcodeStreams; } // Usage example var order數位s = new List<string> { "ORD-001", "ORD-002", "ORD-003" }; var barcodes = GenerateBarcodeStreams(order數位s); Imports IronBarCode Imports System.IO Imports System.Text ' Example: Processing multiple barcodes in a batch using streams Public Shared Function GenerateBarcodeStreams(dataItems As List(Of String)) As List(Of Stream) Dim barcodeStreams As New List(Of Stream)() For Each item In dataItems ' Convert string to stream Dim dataStream As New MemoryStream(Encoding.UTF8.GetBytes(item)) ' Generate barcode from stream Dim barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128) ' Export barcode back to stream Dim outputStream As New MemoryStream() barcode.SaveAsPng(outputStream) outputStream.Position = 0 ' Reset position for reading barcodeStreams.Add(outputStream) Next Return barcodeStreams End Function ' Usage example Dim order數位s As New List(Of String) From {"ORD-001", "ORD-002", "ORD-003"} Dim barcodes = GenerateBarcodeStreams(order數位s) $vbLabelText $csharpLabel 有關多執行緒應用程式中的異步操作和效能改善,請參閱 Use Async and Multithread 指南。 常見問題解答 如何在 C# 中從文字建立 BarCode? 在 C# 中使用 IronBarcode 只需一行代码即可从文本创建条形码:BarcodeWriter.CreateBarcode("YourText",BarcodeWriterEncoding.Code128)。IronBarcode 支援多種格式,包括 QR Code、Code128、PDF417、Aztec 等。 哪些類型的資料可以編碼到 BarCode 中? IronBarcode 可讓您對各種資料類型進行編碼,包括字串、URL、ID、二進位資料(位元組陣列)和記憶體串流。該程式庫會根據您所選擇的 BarCode 格式自動處理轉換和編碼。 URL 應該使用哪種 BarCode 格式? QR 碼是 IronBarcode 編碼 URL 的最佳選擇。QR 碼最多可儲存 4,296 個字母與數位字元,並包含錯誤修正功能,因此是網址與電子郵件地址的理想選擇。 哪種 BarCode 格式最適合訂單號碼和序列碼? 使用 IronBarcode 時,Code128 是字母數字資料(如訂單號碼和序列代碼)的理想格式。它對於現代應用程式而言非常有效率,並為混合字元集提供優異的資料密度。 我可以從二進位資料建立 BarCode 嗎? 是的,IronBarcode 支持通过 CreateBarcode 方法使用 System.Byte[] 数组或 System.IO.Stream 输入的二进制数据创建条形码,允许您对任何类型的二进制信息进行编码。 我可以用哪些影像格式儲存 BarCode? IronBarcode 允許您將產生的 BarCode 儲存為多種圖像格式,包括 PNG、JPEG、BMP、GIF 和 TIFF。該程式庫針對不同的使用情況提供了靈活的匯出選項。 PDF417 BarCode 可以儲存多少資料? 使用 IronBarcode 製作的 PDF417 BarCode 可儲存多達 1,850 個字母數字字符,使其成為複雜資料(如機票、運輸標籤和政府 ID)的完美選擇。 哪種 BarCode 格式最適合行動購票? 使用 IronBarcode 時,Aztec BarCode 是行動票務和運輸應用程式的最佳選擇。與 QR 條碼相比,它們所需的空間更少,同時在行動裝置上維持高資料容量和可讀性。 Hairil Hasyimi Bin Omar 立即與工程團隊聊天 軟體工程師 就像所有優秀的工程師一樣,Hairil 也是一位狂熱的學習者。他不斷精進 C#、Python 和 Java 的知識,利用這些知識為整個 Iron Software 的團隊成員增加價值。Hairil 從馬來西亞的 Universiti Teknologi MARA 大學加入 Iron Software 團隊,畢業於該校的化學與流程工程學系,並取得學士學位。 準備好開始了嗎? Nuget 下載 2,070,733 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:2,070,733 查看許可證