從文本、網址、ID、數字、二進位數據和記憶體流創建條碼
可以從字串、二進位資料或記憶體流中生成條碼。 所有這些數據格式都可以用作輸入到 BarcodeWriter.CreateBarcode()
method.
從文本、網址、ID、數字、二進位數據和記憶體流創建條碼
開始使用 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。 以下是上述程式碼片段生成的圖片:
文本
網址
收據編號
航班號碼
數字
從位元組陣列建立條碼
要從位元組陣列中的資料創建條碼,首先確保字元編碼符合要求 條碼編碼,因為每種條碼類型接受不同的字符編碼。 以下是可以在 IronBarcode 中使用的不同字符编码:
ASCII (美國資訊交換標準碼):
- 定義:此編碼使用 7 位元來表示每個字符,包括英文字母、數字、標點符號和控制字符。
- 範例:字母'A'的ASCII碼是65,'B'的是66,依此類推。
UTF-8 (統一碼轉換格式 8 位元):
- 定義:UTF-8 是一種可變長度字符編碼,能夠表達所有 Unicode 字符。 它使用 8 位元序列來編碼字符,使用的位元組數量取決於字符。
- 範例:字母“A”的UTF-8編碼與其ASCII碼點相同,即65。然而,對於ASCII範圍外的字符,UTF-8使用多個字節。 例如,歐元符號的UTF-8編碼是(€)是序列 0xE2 0x82 0xAC。
UTF-16 (統一碼轉換格式 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 (Latin-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[] object. 要將這些位元組陣列轉換為條碼,將它們包含為參數在 條碼編寫器, 以及所需的 條碼編碼. 可選擇設置 最大寬度 和 最大高度 條碼大小。
從記憶體流創建條形碼
以下程式碼片段演示如何從記憶體流生成條形碼:
: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[] objects. 與以前一樣,用戶可以輸入這些新實例到 BarcodeWriter.CreateBarcode()
生成條碼จาก 記憶體流 物件。