从文本、URL、ID、数字、二进制数据和内存流创建条形码

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

海瑞尔 哈西米 本 奥马尔

IronBarcode 的灵活性使其能够从一系列数据源生成条形码,包括文本、URL、ID、数字、二进制数据和内存流。这种多功能性可满足不同场景的需要,如创建用于产品识别的条形码、URL 链接、用于访问控制的 ID、用于跟踪的数字代码,甚至将二进制数据或内存流转换为可扫描的条形码。这使得 IronBarcode 成为增强各行业数据驱动流程的强大工具。

IronBarcode 允许将各种对象类型作为条形码的输入,从而简化了条形码的书写。 BarcodeWriter.CreateBarcode() method, eliminating the need for type casting. This reduces code complexity and boosts productivity.


适用于的C# NuGet库

安装使用 NuGet

Install-Package BarCode
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于的C# NuGet库

安装使用 NuGet

Install-Package BarCode
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronBarcodeNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变。

适用于的C# NuGet库 nuget.org/packages/BarCode/
Install-Package BarCode

考虑安装 IronBarcode DLL 直接。下载并手动安装到您的项目或GAC表单中: IronBarCode.zip

手动安装到你的项目中

下载DLL

从字符串创建条形码

IronBarcode 随时接受 System.String 数据作为 BarcodeWriter.CreateBarcode(). This covers various data types like texts, URLs, IDs, and numbers. Add these directly into the method. See code snippet below:

: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")
VB   C#

所提供的代码片段演示了如何将 5 个字符串示例转换成条形码:简单文本、URL、数字 ID、字母数字 ID 和数字字符串。这些字符串直接输入 BarcodeWriter.CreateBarcode() along with parameters for BarcodeEncoding and optional dimensions. The produced barcode can be saved as 图片, , HTML 字符串或作为 PDF 文档.以下是在 IronBarcode 中执行代码片段后生成的条形码图像。

文本
网址
收据 ID
航班号
数量

从字节数组创建条形码

除了转换 System.String 用户通常将 IronBarcode 集成到复杂的应用程序中,利用其他对象,如 System.Byte [].要使用该对象,请确保字节编码与所需的 条码编码.以下是字节编码的参考示例: 1.

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

    • 定义:这种编码使用 7 位来表示每个字符,包括英文字母、数字、标点符号和控制字符。
  • 举例说明:字母 "A "的 ASCII 编码为 65,"B "为 66,以此类推。
  • 统一码:

    • 定义:统一码是一种字符编码标准,旨在涵盖人类书写系统中使用的所有字符和符号。它为每个字符提供一个唯一的编码点。
  • 举例说明:拉丁字母 "A "的统一码编码点是 U+0041,希腊字母 alpha 的统一码编码点是 U+0041。 (α) 是 U+03B1。
  • 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,希腊字母 alpha 的UTF-32 编码是 0x00000041。 (α) 为 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")
VB   C#

在给出的代码段中,5 个字符串输入被转换为 System.Byte [].要将这些字节数组转换为条形码,可将它们作为参数包含在 条码写入器以及所需的 条码编码.可选择设置 最大宽度最大高度 条形码尺寸。

从数据流中创建条形码

如果条形码 API 支持字节数组输入,但不支持 System.IO.Stream 对象。因此,IronBarcode 也为以下对象提供支持! 这对于处理 MemoryStreams 的用户来说非常方便,他们可以在不转换输入类型的情况下生成条形码。下面是演示代码片段。

: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")
VB   C#

所提供的代码段是前一个代码段的延伸。在这里,我们创建了新的 内存流 从早期的 System.Byte [] 对象。和以前一样,用户可以将这些新实例输入到 BarcodeWriter.CreateBarcode() 生成条形码 内存流 物件

海瑞尔 哈西米 本 奥马尔

软件工程师

像所有优秀的工程师一样,Hairil 是一个热衷学习的人。他正在精进自己的 C#、Python 和 Java 知识,并利用这些知识为 Iron Software 团队成员增添价值。Hairil 毕业于马来西亚的马来西亚工艺大学(Universiti Teknologi MARA),获得了化学与工艺工程学士学位,然后加入了 Iron Software 团队。