IRONSOFTWAREHOME

從文字、URLs、IDs和二進位資料生成條碼於C#

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: 2026年6月4日

IronBarcode使C#開發者能夠從各種資料來源生成條碼,包括字串、位元組陣列和記憶體流,使用BarcodeWriter.CreateBarcode()方法支持多種條碼格式,如QR Code、Code128和PDF417。

快速入門:在一行中從字串建立條碼

使用IronBarcode的API來生成條碼,設置簡單。本範例展示了如何僅使用一行程式碼從簡單字串建立條碼。 如需完整範例,請查看條碼快速入門指南。

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

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

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
    C#
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronBarcode,透過免費試用
    arrow pointer

如何從字串生成條碼?

不同字串型別的最佳條碼格式是什麼?

不同的條碼格式優化用於特定資料型別和用例。 了解支持的條碼格式有助於選擇合適的編碼:

  • QR Codes:最適合用于URLs、電子郵件地址和大型文字資料。 支持最多4,296個字母數字元,附帶錯誤修正
  • Code128:理想用於字母資料如訂單號和序列碼。 對現代應用程式高度有效。
  • PDF417:完美用於複雜資料如飛行票和政府身份證。 可儲存最多1,850個字母數字元。
  • Code93:對郵政服務和庫存跟蹤而言非常出色,使用緊湊的資料。
  • Aztec:適用於移動票務和交通,比QR碼更省空間。

以下程式碼演示了如何用字串寫入條碼:

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");

生成的條碼結果是什麼?

此程式碼將五種不同資料範例編碼成五種條碼型別:簡單字串至Aztec,URL至QR Code,數字ID至Code 93,字母數ID至PDF417,及數字至Codabar。 影像以PNG格式儲存。 如需進階匯出選項,請參閱建立條碼為影像指南。

包含 'Hello, World!' 文字的 Aztec 條碼,具有獨特的方形螺旋圖案
從 URL 輸入產生的 QR 碼,展示條碼建立功能
產生的 Code93 條碼範例,顯示黑白垂直條紋圖案
具有堆疊列的 PDF417 條碼,編碼航班 ID 的英數字元資料
顯示帶有起始/停止字元之數字資料的 Codabar 條碼

如何自訂生成的條碼?

建立條碼後,使用IronBarcode的造型功能提升其外觀。 這是如何建立帶有顏色、註解和邊距的自訂條碼:

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");

如需更多造型選項,請探索自訂與造型條碼教程。

如何從位元組陣列生成條碼?

為何位元組陣列條碼的字元編碼很重要?

要從位元組陣列建立條碼,請確保字元編碼與所需的BarcodeEncoding對齊,因為每種條碼型別接受的字元編碼不同。 了解輸出資料格式以確保相容性。 以下是IronBarcode中可用的字元編碼:

  • ASCII:對於英文字母、數字和標點符號每字元使用7位。 範例:'A' = 65。
  • UTF-8:適合所有Unicode字元的可變長度編碼。 範例:€ = 0xE2 0x82 0xAC。
  • UTF-16:對Unicode使用16位序列。 範例:α = 0x03B1。
  • UTF-32:每字元固定32位序列。 範例:α = 0x000003B1。
  • ISO-8859-1:延伸ASCII用於西歐語言。 範例:é = 233。

[[i:在IronBarcode中的預設字元編碼為ISO-8859-1。]]

如何將位元組陣列轉換為條碼?

以下程式碼展示了從位元資料生成條碼:

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");

此片段將五個字串輸入轉換為System.Byte[]物件。 要將這些位元組陣列轉換為條碼,將它們傳遞給BarcodeEncoding。 可選擇設置MaxHeight來控制條碼尺寸。

處理二進位資料和特殊字元

處理二進位資料或特殊字元時,請使用撰寫Unicode條碼以支持國際字元。 這是處理二進位資料的範例:

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 = QRCodeWriter.CreateQrCode(
    base64Data,
    errorCorrectionLevel: QRCodeWriter.QrErrorCorrectionLevel.High
);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
C#

如何從記憶體流生成條碼?

什麼時候應使用記憶體流生成條碼?

處理不需要磁碟儲存的資料時,記憶體流最有效,例如網頁應用程式或資料庫處理中的動態生成內容。 以流匯出條碼指南提供了附加的背景知識來進行基於流的工作流程。

以下程式碼展示了從記憶體流生成條碼:

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");

使用記憶體流有什麼好處?

此片段從MemoryStream資料生成條碼。 記憶體流提供了幾個優勢:

  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 orderNumbers = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNumbers);

對於多執行緒應用程式中的異步操作和改進效能,請參閱使用異步和多執行緒指南。

常見問題

如何在C#中從文字建立條碼?

您可以使用IronBarcode在C#中從文字建立條碼,只需一行程式碼:BarcodeWriter.CreateBarcode('YourText', BarcodeWriterEncoding.Code128)。IronBarcode支持多種格式,包括QR碼、Code128、PDF417、Aztec等。

我可以將哪些型別的資料編碼為條碼?

IronBarcode允許您編碼各種資料型別,包括字串、URL、ID、二進制資料(位元組陣列)和記憶流。程式庫會根據您選擇的條碼格式自動處理轉換和編碼。

我應該使用哪種條碼格式來標記URL?

QR碼是IronBarcode中編碼URL的最佳選擇。QR碼可儲存多達4,296個字母數字字元,並包括錯誤校正功能,使其非常適合於網頁地址和電子郵件地址。

哪種條碼格式最適合訂單號和序列碼?

當使用IronBarcode時,Code128是對字母資料如訂單號和序列碼的理想格式。它對於現代應用程式非常高效,並為混合字元集提供了出色的資料密度。

我可以從二進制資料建立條碼嗎?

是的,IronBarcode支持使用System.Byte[]陣列或System.IO.Stream輸入通過CreateBarcode方法建立來自二進制資料的條碼,使您能夠編碼任何型別的二進制資訊。

我可以用哪些影像格式保存條碼?

IronBarcode允許您將生成的條碼保存為多種影像格式,包括PNG、JPEG、BMP、GIF和TIFF。程式庫為不同的使用情境提供了靈活的導出選項。

PDF417條碼中能儲存多少資料?

使用IronBarcode建立的PDF417條碼可以儲存多達1,850個字母數字字元,使其非常適合複雜資料,如機票、運單標籤和政府ID。

哪種條碼格式最適合移動票務?

Aztec條碼在使用IronBarcode時是移動票務和交通應用的最佳選擇。它們需要的空間比QR碼少,同時在移動裝置上保持高資料容量和可讀性。

What example use cases benefit from using IronBarcode's PDF417 format?

PDF417 is suitable for complex data storage like flight tickets, government IDs, and other applications requiring robust data encoding. It can store up to 1,850 alphanumeric characters.

How can IronBarcode handle binary data for QR code generation?

IronBarcode can handle binary data by converting it to a Base64 string and then generating a QR code with high error correction. This approach is useful for encoding small file data or binary data streams.

準備好開始了嗎?

Nuget Downloads 2,422,100版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用金鑰
不需要信用卡或帳戶建立
C# NuGet程式庫,用於PDF
通過NuGet安裝

版本: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. 在解決方案資源管理器中,右鍵點擊References,管理NuGet包
  2. 選擇瀏覽並搜尋"IronBarCode"
  3. 選擇包並安裝
C# PDF DLL
下載DLL

版本: 2026.9

  1. 下載並解壓IronBarCode至您的Solution目錄中的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中右鍵點擊References,選擇瀏覽,"IronBarCode.dll"

$999起的授權費用

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費即時演示
Booking Badge

全球數百萬工程師信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
完成下方表單或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立