从文本、URL、ID、数字、二进制数据和内存流中创建 BarCode
BarCode 可以从字符串、二进制数据或内存流中生成。 所有这些数据格式都可以用作BarcodeWriter.CreateBarcode()
方法的输入。
Create Barcode from Text, URLs, IDs, Numbers, Binary Data & Memory Streams
开始使用 IronBarcode
立即在您的项目中开始使用IronBarcode,并享受免费试用。
从字符串创建条形码
以下代码片段演示了如何用字符串书写 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")
在此代码片段中,我们将 5 个不同的数据示例编码为 5 种不同的条形码类型:简单文本编码为 Aztec 码,URL 编码为 QR 码,数字 ID 编码为 Code 93 码,字母数字 ID 编码为 PDF417 码,数字编码为 Codabar 码。 然后将图像保存为 PNG 格式。 以下是上述代码片段产生的图像:

文本

网址

收据 ID

航班号

数量
从字节数组创建条形码
要从字节数组中的数据创建条形码,首先确保字符编码与所需的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 (Latin-1):
定义:ISO-8859-1 是一种字符编码,它扩展了 ASCII,包括了西欧语言的字符。 它为每个字符使用8位。
- 示例:字母 'A' 的 ISO-8859-1 代码仍然是 65,'B' 是 66,但它还包括诸如 'é' (233) 和 'ü' (252) 之类的字符。
请注意
IronBarcode中的默认字符编码是ISO-8859-1。如果用户没有指定字符编码,将使用此编码。以下代码片段演示了从字节数据生成 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")
在给定的代码片段中,5个字符串输入被转换为一个System.Byte[]对象。 要将这些字节数组转换为条形码,请将它们作为参数包含在BarcodeWriter中,并附上所需的BarcodeEncoding。 可选地,设置条形码大小的MaxWidth和MaxHeight。
从内存流中创建 BarCode
以下代码片段演示了如何从内存流中生成 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")
本代码片段是上一个代码片段的延伸。 在这里,我们从之前的System.Byte[]对象创建新的MemoryStream实例。 与之前一样,用户可以将这些新实例输入到BarcodeWriter.CreateBarcode()
中,以从MemoryStream对象生成条形码。