How to Create Barcode From Data in C#

使用 C# 从文本、URL、ID 和二进制数据创建条形码

This article was translated from English: Does it need improvement?
Translated
View the article in English

条形码可以从字符串、二进制数据或内存流中生成。 这些数据格式可以用作 BarcodeWriter.CreateBarcode() 方法的输入。

快速入门:用一行代码从字符串创建条形码

使用 IronBarcode 的 API,最小化设置生成条形码。这个示例显示了如何仅用一行代码从简单字符串创建条形码。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronBarcode

    PM > Install-Package BarCode

  2. 复制并运行这段代码。

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronBarcode,免费试用!
    arrow pointer


从字符串创建条形码

以下代码片段演示了如何用字符串写条形码:

: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")
$vbLabelText   $csharpLabel

在这个代码片段中,我们将五种不同数据的例子编码到五种不同的条形码类型中:简单文本到 Aztec、URL 到 QR Code、数字 ID 到 Code 93、字母数字 ID 到 PDF417,以及数字到 Codabar。 然后将图像保存为 PNG。

Text
URL
收据编号
航班号
数字

从字节数组创建条形码

要从字节数组的数据中创建条形码,请确保字符编码符合所需的 BarcodeEncoding,因为每种条形码类型都接受不同的字符编码。 以下是可以在 IronBarcode 中使用的不同字符编码:

  • ASCII(美国信息交换标准代码):

    • 使用 7 位来表示每个字符,包括英文字母、数字、标点符号和控制字符。
    • 示例:字母'A'的 ASCII 代码是65,'B'是66,依此类推。
  • UTF-8(Unicode 转换格式 8 位):

    • UTF-8 是一种可变长度的字符编码,可以代表所有的 Unicode 字符。
    • 示例:欧元符号(€)的 UTF-8 编码是序列 0xE2 0x82 0xAC。
  • UTF-16(Unicode 转换格式 16 位):

    • 使用 16 位序列编码字符,表示整个 Unicode 字符集。
    • 示例:希腊字母 alpha (α) 的 UTF-16 编码是 0x03B1。
  • UTF-32(Unicode 转换格式 32 位):

    • 每个字符使用固定的 32 位序列。
    • 示例:希腊字母 alpha (α) 的 UTF-32 编码是 0x000003B1。
  • ISO-8859-1(Latin-1):
    • 将 ASCII 扩展以包含西欧语言的字符,每个字符使用 8 位。
    • 示例:'é' 的 ISO-8859-1 代码是 233。

[{i: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")
$vbLabelText   $csharpLabel

In the given snippet, 5 string inputs are transformed into a System.Byte[] object. To convert these byte arrays into barcodes, include them as parameters in BarcodeWriter, along with the desired BarcodeEncoding. Optionally, set MaxWidth and MaxHeight for barcode size.

从内存流创建条形码

以下代码片段演示了如何从内存流生成条形码:

: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")
$vbLabelText   $csharpLabel

在这个代码片段中,System.Byte[] 对象创建了一个 MemoryStream。 然后这 MemoryStream 作为输入用于 BarcodeWriter.CreateBarcode(),从内存流数据生成条形码。

常见问题解答

如何在C#中从文本字符串生成条形码?

要使用IronBarcode从文本字符串生成条形码,请使用BarcodeWriter.CreateBarcode方法并提供字符串作为输入。例如,可以使用BarcodeWriter.CreateBarcode('SampleText', BarcodeEncoding.QRCode)将'SampleText'编码为二维码。

是否可以从数字和字母数字ID创建条形码?

是的,您可以使用IronBarcode从数字和字母数字ID创建条形码。BarcodeWriter.CreateBarcode方法可以将这些ID编码为各种条形码格式,如Code 93和Codabar。

如何将二进制数据转换为条形码?

要使用IronBarcode将二进制数据转换为条形码,首先将二进制数据转换为字节数组。然后,使用BarcodeWriter.CreateBarcode方法生成条形码,指定所需的编码,例如PDF417。

生成URL条形码涉及哪些步骤?

使用IronBarcode在C#中从URL生成条形码涉及使用BarcodeWriter.CreateBarcode方法将URL作为输入。例如,要从'https://example.com'创建二维码,请使用BarcodeWriter.CreateBarcode('https://example.com', BarcodeEncoding.QRCode)

在从字节数组创建条形码时如何确保字符编码兼容性?

IronBarcode支持多种字符编码,包括ASCII、UTF-8、UTF-16、UTF-32和ISO-8859-1。从字节数组创建条形码时,选择与您的数据匹配的编码。默认编码是ISO-8859-1。

我应该使用什么方法将生成的条形码保存为图像文件?

要在IronBarcode中将生成的条形码保存为图像文件,请使用SaveAsPng等方法将条形码保存为PNG文件。IronBarcode支持以多种格式保存,确保在处理输出时的灵活性。

我可以直接从内存流生成条形码吗?

是的,您可以使用IronBarcode从内存流生成条形码。将您的数据转换为字节数组,从中创建MemoryStream,然后使用BarcodeWriter.CreateBarcode方法以MemoryStream作为输入。

Hairil Hasyimi Bin Omar
软件工程师
如所有伟大的工程师一般,Hairil 是个热心的学习者。他正在提高对 C#、Python 和 Java 的知识,并利用这些知识为 Iron Software 团队成员增值。Hairil 从马来西亚的玛拉工业大学加入 Iron Software 团队,获得化学与工艺工程学士学位。
准备开始了吗?
Nuget 下载 1,979,979 | Version: 2025.11 刚刚发布