如何在 C# 中從數據創建條碼

在 C# 中從文字、網址、ID 和二進位資料建立 BarCode;

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 Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronBarcode

    PM > Install-Package BarCode

  2. 複製並運行這段程式碼。

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronBarcode,免費試用!
    arrow pointer


如何從字串建立 BarCode?

哪些條碼格式最適合不同的字串類型? 不同的 BarCode 格式會針對特定的資料類型和使用情況進行最佳化。 [瞭解支援的 BarCode 格式](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/)有助於選擇正確的編碼: - **QR 碼**:最適合 網址、電子郵件地址和大型文字資料。 支援多達 4,296 個字母數位字元,並具備 [錯誤修正功能](https://ironsoftware.com/csharp/barcode/how-to/error-correction/)。 - **Code128**:非常適用於字母數字資料,例如訂單號碼和序列代碼。 適用於現代應用程式的高效率。 - **PDF417**:非常適合複雜的資料,例如機票和政府身分證。 最多可儲存 1,850 個字母與數位字元。 - **Code93**:對於郵政服務和庫存追蹤緊湊的數字資料來說是極佳的選擇。 - **Aztec**:最適合用於行動票務和運輸,所需空間比 QR 代碼少。 以下程式碼示範如何使用字串寫入 BarCode: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs ```

產生的 BarCode 結果為何? 此代碼將五種不同的資料範例編碼為五種條碼類型:簡單文字轉換為 Aztec、網址 轉換為 QR Code、數字 ID 轉換為 Code 93、字母數字 ID 轉換為 PDF417,以及數字轉換為 Codabar。 圖片以 PNG 格式儲存。 如需進階的匯出選項,請參閱 [Create BarCode as Image](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/) 指南。
Aztec barcode containing 'Hello, World!' text with characteristic square spiral pattern
QR code generated from 網址 input demonstrating barcode creation functionality
Generated Code93 barcode example showing vertical black and white bars pattern
PDF417 barcode with stacked rows encoding flight ID alphanumeric data
Codabar barcode displaying numeric data with start/stop characters

如何自訂產生的 BarCode? 創建您的條碼後,使用 IronBarcode 的造型功能增強其外觀。 以下是如何使用顏色、註解和邊界建立自訂的 BarCode: ```cs 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"); ``` 如需更多樣式選項,請參閱 [ 自訂和樣式 BarCode](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/) 教學。

如何從 Byte Array 建立 BarCode?

為什麼字元編碼對於位元陣列條碼來說很重要? 若要從位元組陣列建立條碼,請確保字元編碼與所需的 `BarcodeEncoding` 對齊,因為每種條碼類型都接受不同的字元編碼。 瞭解[輸出資料格式](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/)可確保相容性。 以下是 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: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs ``` 此片段將五個字串輸入轉換為 `System.Byte[]` 物件。 要將這些位元組陣列轉換成條碼,請將它們以所需的 `BarcodeEncoding` 傳送給 `BarcodeWriter` 。 可選擇設定 `MaxWidth` 和 `MaxHeight` 為條碼大小。 ### 處理二進位資料和特殊字元 在處理二進位資料或特殊字符時,請使用 [Writing Unicode BarCode](https://ironsoftware.com/csharp/barcode/how-to/writing-in-unicode/) 以取得國際字元支援。 以下是處理二進位資料的範例: ```cs 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"); ```

如何從記憶體串流建立 BarCode?

何時應該使用記憶體串流來產生 BarCode? 記憶體串流在處理不需要磁碟儲存的資料時效果最佳,例如網頁應用程式中動態產生的內容或資料庫處理。 [Export BarCode as Stream](https://ironsoftware.com/csharp/barcode/how-to/export-barcode-as-stream/) 指南提供了基於流的工作流程的其他上下文。 以下程式碼示範從記憶體串流產生 BarCode: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs ```

使用記憶體串流有哪些好處? 此片段從 `System.Byte[]` 物件建立 `MemoryStream` ,然後將其作為 `BarcodeWriter.CreateBarcode()` 的輸入,從記憶體串流資料產生條碼。 記憶體串流提供了幾項優勢: 1.**效能**:無磁碟 I/O 作業,臨時資料處理速度更快 2.**安全性**:資料保留在記憶體中,減少敏感資訊曝光 3.**彈性**:輕鬆與基於流的 API 和函式庫整合 4.**資源效率**:自動記憶體管理與處理 ### 進階流處理範例 對於涉及串流處理的複雜情況,請結合 IronBarcode 與其他串流作業: ```cs using IronBarCode; using System.IO; using System.Text; // Example: Processing multiple barcodes in a batch using streams public static ListGenerateBarcodeStreams(ListdataItems) { var barcodeStreams = new List(); 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{ "ORD-001", "ORD-002", "ORD-003" }; var barcodes = GenerateBarcodeStreams(order數位s); ``` 有關多執行緒應用程式中的異步操作和效能改善,請參閱 [Use Async and Multithread](https://ironsoftware.com/csharp/barcode/how-to/async-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,002,059 | 版本: 2025.12 剛發表