IronBarcode 操作指南 从文本、URL、ID、数字和二进制数据创建条形码 在 C# 中从文本、网址、ID 和二进制数据创建 BarCode; Hairil Hasyimi Bin Omar 已更新:2026年1月10日 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronBarcode 使 C# 开发人员能够使用 BarcodeWriter.CreateBarcode() 方法从字符串、字节数组和内存流等各种数据源生成条形码,并支持 QR Code、Code128 和 PDF417 等多种条形码格式。 快速入门:用一行代码从字符串创建条形码 使用 IronBarcode 的 API 生成条形码,只需最少的设置。本示例展示了如何仅使用一行代码从一个简单字符串创建条形码。 有关综合示例,请查看 Barcode Quickstart 指南。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronBarcode PM > Install-Package BarCode 复制并运行这段代码。 var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronBarcode,免费试用! 免费试用30天 ### 最小工作流程(5 个步骤) 下载 C# 库,用于从数据创建条形码 使用 CreateBarcode 方法使用 System.String 输入创建条形码 使用 CreateBarcode 方法使用 System.Byte[] 输入创建条形码 使用 CreateBarcode 方法使用 System.IO.Stream 输入创建条形码 将生成的条形码保存为多种图像格式 如何从字符串创建 BarCode? 哪些条形码格式最适合不同的字符串类型? 不同的 BarCode 格式针对特定的数据类型和用例进行了优化。 了解支持的条形码格式有助于选择正确的编码: QR 代码:最适用于 网址、电子邮件地址和大型文本数据。 支持多达 4296 个字母数字字符,并支持 错误纠正。 Code128:适用于订单号和序列号等字母数字数据。 对现代应用程序具有很高的效率。 PDF417:适用于机票和政府身份证等复杂数据。 最多可存储 1,850 个字母数字字符。 Code93:非常适合邮政服务和使用紧凑数字数据进行库存跟踪。 Aztec:移动票务和交通的最佳选择,所需的空间小于二维码。 以下代码演示了如何用字符串书写 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") $vbLabelText $csharpLabel 生成的 BarCode 结果是什么? 该代码将五个不同的数据示例编码为五种条形码类型:简单文本编码为 Aztec 码,网址 编码为 QR 码,数字 ID 编码为 Code 93 码,字母数字 ID 编码为 PDF417 码,数字编码为 Codabar 码。 图片保存为 PNG 格式。 有关高级导出选项,请参阅 Create BarCode as Image 指南。 Text 网址 收据编号 航班号 数字 如何自定义生成的 BarCode? 创建您的条形码后,使用 IronBarcode 的样式功能增强其外观。 以下是如何创建带有颜色、注释和页边距的自定义 BarCode: using IronBarCode; // Create a barcode with custom styling GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128); // Apply custom styling myBarcode.ResizeTo(300, 100); myBarcode.SetMargins(10); myBarcode.ChangeBarCodeColor(Color.DarkBlue); // Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12); // Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png"); using IronBarCode; // Create a barcode with custom styling GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128); // Apply custom styling myBarcode.ResizeTo(300, 100); myBarcode.SetMargins(10); myBarcode.ChangeBarCodeColor(Color.DarkBlue); // Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12); // Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png"); Imports IronBarCode ' Create a barcode with custom styling Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128) ' Apply custom styling myBarcode.ResizeTo(300, 100) myBarcode.SetMargins(10) myBarcode.ChangeBarCodeColor(Color.DarkBlue) ' Add text annotations myBarcode.AddBarcodeValueTextBelowBarcode() myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12) ' Save the customized barcode myBarcode.SaveAsPng("customized-barcode.png") $vbLabelText $csharpLabel 有关更多样式选项,请浏览自定义和样式化 BarCode 教程。 如何从字节数组创建 BarCode? 字节阵列 BarCode 的字符编码为何重要? 要从字节数组创建条形码,请确保字符编码与所需的 BarcodeEncoding 一致,因为每种条形码类型都接受不同的字符编码。 了解输出数据格式可确保兼容性。 以下是 IronBarcode 中可用的字符编码: ASCII:英文字母、数字和标点符号每个字符使用 7 位。 例如:'A' = 65。 UTF-8:适用于所有 Unicode 字符的可变长度编码。 例如:€ = 0xE2 0x82 0xAC。 UTF-16:使用 16 位 Unicode 序列。 例如:α = 0x03B1。 UTF-32:每个字符的固定 32 位序列。 例如:α = 0x000003B1。 ISO-8859-1:为西欧语言扩展 ASCII。 例如:é = 233. [{i:IronBarcode 中的默认字符编码是 ISO-8859-1。}] 如何将字节数组转换为 BarCode? 以下代码演示了从字节数据生成 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") $vbLabelText $csharpLabel 该代码段将五个字符串输入转换为 System.Byte[] 对象。 要将这些字节数组转换为条形码,请将它们传递给带有所需 BarcodeEncoding 的 BarcodeWriter 。 可选择为条形码尺寸设置 MaxWidth 和 MaxHeight 。 处理二进制数据和特殊字符 在处理二进制数据或特殊字符时,请使用 Writing Unicode BarCode 获得国际字符支持。 下面是一个处理二进制数据的例子: using IronBarCode; using System.Text; using System.IO; // Example: Encoding binary data (like a small file) into QR Code byte[] binaryData = File.ReadAllBytes("document.pdf"); string base64Data = Convert.ToBase64String(binaryData); // Create QR code with high error correction for binary data GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode( base64Data, BarcodeEncoding.QRCode ); // Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High); // Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500); binaryBarcode.SaveAsPng("binary-data-qr.png"); using IronBarCode; using System.Text; using System.IO; // Example: Encoding binary data (like a small file) into QR Code byte[] binaryData = File.ReadAllBytes("document.pdf"); string base64Data = Convert.ToBase64String(binaryData); // Create QR code with high error correction for binary data GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode( base64Data, BarcodeEncoding.QRCode ); // Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High); // Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500); binaryBarcode.SaveAsPng("binary-data-qr.png"); Imports IronBarCode Imports System.Text Imports System.IO ' Example: Encoding binary data (like a small file) into QR Code Dim binaryData As Byte() = File.ReadAllBytes("document.pdf") Dim base64Data As String = Convert.ToBase64String(binaryData) ' Create QR code with high error correction for binary data Dim binaryBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(base64Data, BarcodeEncoding.QRCode) ' Set high error correction for data integrity binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High) ' Save with appropriate size for data density binaryBarcode.ResizeTo(500, 500) binaryBarcode.SaveAsPng("binary-data-qr.png") $vbLabelText $csharpLabel 如何从内存流中创建 BarCode? 何时应将内存流用于条形码生成? 内存流在处理不需要磁盘存储的数据时效果最佳,例如网络应用程序中动态生成的内容或数据库处理。 Export BarCode as Stream 指南为基于流的工作流程提供了更多的背景信息。 以下代码演示了从内存流生成 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") $vbLabelText $csharpLabel 使用内存流有哪些好处? 此代码段从 System.Byte[] 对象创建 MemoryStream ,然后将其作为 BarcodeWriter.CreateBarcode() 的输入,从内存流数据生成条形码。 内存流具有以下几个优点: 1.性能:无磁盘 I/O 操作,更快处理临时数据 2.安全性:数据保留在内存中,减少敏感信息的暴露 3.灵活性:与基于流的 API 和库轻松集成 4.资源效率:自动内存管理和处置 高级流处理示例 对于涉及流处理的复杂场景,请将 IronBarcode 与其他流操作相结合: using IronBarCode; using System.IO; using System.Text; // Example: Processing multiple barcodes in a batch using streams public static List<Stream> GenerateBarcodeStreams(List<string> dataItems) { var barcodeStreams = new List<Stream>(); foreach (var item in dataItems) { // Convert string to stream var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item)); // Generate barcode from stream var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128); // Export barcode back to stream var outputStream = new MemoryStream(); barcode.SaveAsPng(outputStream); outputStream.Position = 0; // Reset position for reading barcodeStreams.Add(outputStream); } return barcodeStreams; } // Usage example var order数字s = new List<string> { "ORD-001", "ORD-002", "ORD-003" }; var barcodes = GenerateBarcodeStreams(order数字s); using IronBarCode; using System.IO; using System.Text; // Example: Processing multiple barcodes in a batch using streams public static List<Stream> GenerateBarcodeStreams(List<string> dataItems) { var barcodeStreams = new List<Stream>(); foreach (var item in dataItems) { // Convert string to stream var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item)); // Generate barcode from stream var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128); // Export barcode back to stream var outputStream = new MemoryStream(); barcode.SaveAsPng(outputStream); outputStream.Position = 0; // Reset position for reading barcodeStreams.Add(outputStream); } return barcodeStreams; } // Usage example var order数字s = new List<string> { "ORD-001", "ORD-002", "ORD-003" }; var barcodes = GenerateBarcodeStreams(order数字s); Imports IronBarCode Imports System.IO Imports System.Text ' Example: Processing multiple barcodes in a batch using streams Public Shared Function GenerateBarcodeStreams(dataItems As List(Of String)) As List(Of Stream) Dim barcodeStreams As New List(Of Stream)() For Each item In dataItems ' Convert string to stream Dim dataStream As New MemoryStream(Encoding.UTF8.GetBytes(item)) ' Generate barcode from stream Dim barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128) ' Export barcode back to stream Dim outputStream As New MemoryStream() barcode.SaveAsPng(outputStream) outputStream.Position = 0 ' Reset position for reading barcodeStreams.Add(outputStream) Next Return barcodeStreams End Function ' Usage example Dim order数字s As New List(Of String) From {"ORD-001", "ORD-002", "ORD-003"} Dim barcodes = GenerateBarcodeStreams(order数字s) $vbLabelText $csharpLabel 有关多线程应用程序中的异步操作和性能改进,请参阅 Use Async and Multithread 指南。 常见问题解答 如何用 C# 从文本中创建 BarCode? 只需一行代码,您就可以在 C# 中使用 IronBarcode 从文本创建条形码:BarcodeWriter.CreateBarcode("YourText",BarcodeWriterEncoding.Code128)。IronBarcode 支持多种格式,包括 QR Code, Code128, PDF417, Aztec 等。 哪些类型的数据可以编码到 BarCode 中? IronBarcode 允许您对各种数据类型进行编码,包括字符串、URL、ID、二进制数据(字节数组)和内存流。该库可根据您选择的 BarCode 格式自动处理转换和编码。 URL 应使用哪种 BarCode 格式? QR 码是 IronBarcode 对 URL 进行编码的最佳选择。QR 码最多可存储 4296 个字母数字字符,并具有纠错功能,是网址和电子邮件地址的理想选择。 哪种条形码格式最适合订单号和序列号? 使用 IronBarcode 时,Code128 是订单号和序列号等字母数字数据的理想格式。它对于现代应用程序来说非常高效,并能为混合字符集提供出色的数据密度。 我可以用二进制数据创建 BarCode 吗? 是的,IronBarcode 支持通过 CreateBarcode 方法使用 System.Byte[] 数组或 System.IO.Stream 输入的二进制数据创建条形码,允许您对任何类型的二进制信息进行编码。 我可以用什么图像格式保存 BarCode? IronBarcode 允许您将生成的条形码保存为多种图像格式,包括 PNG、JPEG、BMP、GIF 和 TIFF。该库为不同的使用情况提供了灵活的导出选项。 PDF417 条形码中可以存储多少数据? 使用 IronBarcode 创建的 PDF417 条形码可存储多达 1,850 个字母数字字符,是机票、运输标签和政府 ID 等复杂数据的完美选择。 哪种条形码格式最适合移动售票? 使用 IronBarcode 时,阿兹特克条形码是移动票务和交通应用的最佳选择。与 QR 码相比,阿兹台克条形码所需的空间更小,同时还能在移动设备上保持较高的数据容量和可读性。 Hairil Hasyimi Bin Omar 立即与工程团队聊天 软件工程师 如所有伟大的工程师一般,Hairil 是个热心的学习者。他正在提高对 C#、Python 和 Java 的知识,并利用这些知识为 Iron Software 团队成员增值。Hairil 从马来西亚的玛拉工业大学加入 Iron Software 团队,获得化学与工艺工程学士学位。 准备开始了吗? Nuget 下载 2,070,733 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:2,070,733 查看许可证