从文本、URL、ID、数字、二进制数据和内存流中创建 BarCode
BarCode 可以从字符串、二进制数据或内存流中生成。 所有这些数据格式都可用作 BarcodeWriter.CreateBarcode()
method.
从文本、URL、ID、数字、二进制数据和内存流中创建 BarCode
开始使用 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
航班号
数量
从字节数组创建条形码
要使用字节数组中的数据创建 BarCode,首先要确保字符编码与所需的 条码编码由于每种 BarCode 类型都接受不同的字符编码,因此在翻译过程中必须注意以下几点:.NET、Java、Python 或 Node js。 以下是 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 (统一码转换格式 32 位):
- 定义:UTF-32对每个字符使用固定的32位序列,这使得编码简单直接,但对于ASCII范围之外的字符可能在存储空间上造成浪费。
- 示例:拉丁字母“A”的UTF-32编码是0x00000041,希腊字母阿尔法的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。如果用户未指定字符编码,则将使用该编码。以下代码片段演示了从字节数据生成 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[] object. 要将这些字节数组转换为条形码,请将它们作为参数包括在内。 条码写入器以及所需的 条码编码. 可选地设置 最大宽度 和 最大高度 条形码尺寸。
从内存流中创建 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[] objects. 与以前一样,用户可以输入这些新实例到 BarcodeWriter.CreateBarcode()
生成条形码 内存流 物件