從文本、網址、ID、數字、二進位數據和記憶體流創建條碼
可以從字串、二進位資料或記憶體流中生成條碼。 所有這些數據格式都可以用作 BarcodeWriter.CreateBarcode()
方法的輸入。
Create Barcode from Text, URLs, IDs, Numbers, Binary Data & Memory Streams
開始使用 IronBarcode
立即在您的專案中使用IronBarcode,並享受免費試用。
從字符串創建條碼
以下代碼片段示範如何用字串寫入條碼:
: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")
在這段程式碼片段中,我們將五個不同的數據範例編碼成五種不同的條碼類型:簡單文字到Aztec條碼、URL到QR Code、數字ID到Code 93、字母數字ID到PDF417,以及數字到Codabar。 這些圖像然後被保存為 PNG。 以下是上述程式碼片段生成的圖片:

文本

網址

收據編號

航班號碼

數字
從位元組陣列建立條碼
要從位元組陣列中的資料生成條碼,首先確保字元編碼與所需的BarcodeEncoding一致,因為每種類型的條碼接受不同的字元編碼。 以下是可以在 IronBarcode 中使用的不同字符编码:
ASCII(美國資訊交換標準代碼):
- 定義:此編碼使用 7 位元來表示每個字符,包括英文字母、數字、標點符號和控制字符。
- 範例:字母'A'的ASCII碼是65,'B'的是66,依此類推。
UTF-8(Unicode 轉換格式 8 位元):
- 定義:UTF-8 是一種可變長度字符編碼,能夠表達所有 Unicode 字符。 它使用 8 位元序列來編碼字符,使用的位元組數量取決於字符。
- 範例:字母“A”的UTF-8編碼與其ASCII碼點相同,即65。然而,對於ASCII範圍外的字符,UTF-8使用多個字節。 例如,歐元符號 (€) 的 UTF-8 編碼是序列 0xE2 0x82 0xAC。
UTF-16(Unicode 轉換格式 16 位元):
- 定義:UTF-16 是另一種使用 16 位元序列來編碼字符的可變長度字符編碼。 它能夠表示整個Unicode字符集。
- 範例:拉丁字母 'A' 的 UTF-16 編碼是 0x0041,希臘字母 alpha (α) 的 UTF-16 編碼是 0x03B1。
UTF-32(Unicode 轉換格式 32 位元):
- 定義:UTF-32對每個字符使用固定的32位元序列,這使得它直接了當,但對於ASCII範圍外的字符來說,在存儲空間上可能會造成浪費。
- 範例:拉丁字母 'A' 的 UTF-32 編碼是 0x00000041,希臘字母 alpha (α) 的 UTF-32 編碼是 0x000003B1。
ISO-8859-1(拉丁-1):
定義:ISO-8859-1 是一種字符編碼,它擴展了 ASCII 以包括來自西歐語言的字符。 它為每個字符使用8位元。
- 範例:字母 'A' 的 ISO-8859-1 編碼仍然是 65,'B' 是 66,但它也包含像 'é' (233) 和 'ü' (252) 這樣的字符。
請注意
IronBarcode 的預設字符編碼是 ISO-8859-1。如果用戶沒有指定字符編碼,將使用此編碼。以下程式碼片段展示了如何從位元組數據生成條碼:
: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")
在給定的程式碼片段中,5個字串輸入被轉換為System.Byte[]物件。 要將這些位元組陣列轉換成條碼,請將它們作為參數包含在BarcodeWriter中,並加入所需的BarcodeEncoding。 (選填)設定條碼大小的MaxWidth和MaxHeight。
從記憶體流創建條形碼
以下程式碼片段演示如何從記憶體流生成條形碼:
: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")
此代碼片段是對前一個的擴展。 在這裡,我們從之前的 System.Byte[] 物件中創建新的 MemoryStream 實例。 如同之前,使用者可以將這些新實例輸入至 BarcodeWriter.CreateBarcode()
中,從 MemoryStream 物件生成條碼。