USING IRONBARCODE 如何使用IronBarcode在 C# 中生成二维码 Jordi Bardia 已更新:2026年1月19日 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 IronBarcode使.NET开发人员能够使用其 QRCodeWriter 类高效地创建二维码。 它支持自定义徽标、颜色、多种输出格式以及跨平台部署,包括 Windows、Linux、macOS 和移动设备。 本指南演示如何使用IronBarcode为生产系统生成二维码。 IronBarcode 的 API 遵循.NET规范,同时提供企业应用程序所需的性能和可靠性。 该库提供完整的文档,并支持在 Windows、Linux、macOS 和移动平台上部署。 如需全面了解所有功能,请浏览功能页面。 条形码快速入门指南提供可立即上手操作的示例,帮助您快速入门。 使用IronBarcode生成二维码有哪些好处? 为什么选择IronBarcode而不是其他库? 可读取和写入 20 多种条形码格式,包括 UPC、EAN、Code 128 和 DataMatrix。 查看所有支持的格式。 使用校正滤波器对图像进行预处理,以提高精度。 包含针对不完美条形码的高级图像校正功能。 读取扫描件和视频帧,并自动进行图像方向校正。 使用多个核心进行批量处理,并支持异步处理。 学习异步读取条形码以获得更好的性能。 可自动查找多个条形码,并提供可自定义的读取器选项。 配置条形码阅读器设置以获得最佳效果。 支持.NET Core和 Framework 上的 32/64 位架构,具有跨平台兼容性。 可在 PC 和移动设备上运行: Android 、 iOS 、 macOS 、 Linux 。 请参阅服务器的Docker 设置指南。 生成多种格式的二维码,并提供多种输出选项。 支持生成多种格式的条形码。 如何使用IronBarcode生成二维码? 以下各节将演示遵循 SOLID 原则的生产就绪代码。 您将学习创建各种类型的二维码,实现自定义样式,并确保可靠的扫描性能。 该库的功能包括支持除二维码之外的一维和二维条形码。 对于更高级的场景,请查阅API 参考文档以获取完整的方法签名。 浏览演示视频,了解 IronBarcode 的实际功能。 如何创建一个新项目? 打开 Visual Studio,从"文件"菜单中选择"新建项目" 。 对于企业部署,请考虑查看MSI 安装程序指南以进行自动安装。 入门概览提供了完整的设置说明。 选择控制台应用程序模板,然后单击"下一步"。 输入您喜欢的项目名称(例如二维码生成器),并指定项目位置。 点击"下一步" 。 从下拉列表中选择.NET Framework ( .NET 6.0(长期支持) ),然后单击"创建"。 IronBarcode支持所有现代.NET版本,详情请参阅兼容性文档。 有关具体的平台要求,请查看Blazor集成指南。 有哪些安装方法? 使用四种适用于不同工作流程的方法之一来安装IronBarcode 。 图书馆的现场演示展示了实时条形码识别功能。 如需快速测试,请查看条形码快速入门示例。 如何使用 Visual Studio 的包管理器 UI 进行安装? 转到"工具" > "NuGet包管理器" > "管理解决方案的NuGet包"…… 或者在解决方案资源管理器中右键单击您的项目,然后选择"管理NuGet程序包..." 点击"浏览" ,搜索"条形码" ,选择"IronBarcode" ,选择您的项目,然后点击"安装"。 有关特定平台的安装,请参阅NuGet包指南。 如果遇到问题,请参阅NuGet故障排除指南。 该库支持多种部署方案,包括AWS Lambda和Azure Functions 。 如何使用软件包管理器控制台进行安装? 打开"工具" > "NuGet程序包管理器" > "程序包管理器控制台" ,然后运行: Install-Package BarCode 这会将库安装到您当前的项目中。 对于容器化部署,请遵循Docker 设置指南。 使用许可证密钥时,请确保针对您的部署环境进行正确配置。 如何从NuGet或IronBarcode网站下载? 从NuGet Gallery 网站下载或访问 IronBarcode 的主页获取最新的.NET条形码 DLL。 在解决方案资源管理器中,通过"添加" > "引用"将 DLL 添加到您的项目中。 要排查 DLL 问题,请参阅缺失 DLL 指南。 遇到运行时问题时,请参阅运行时复制异常指南。 如何创建和自定义二维码图像? 如何生成基本的二维码? 使用 QRCodeWriter 类中的 CreateQrCode 方法创建二维码。 有关完整示例,请参阅C# 二维码生成器教程。 该库支持创建各种格式的条形码图像: using IronBarCode; // Basic QR code generation with medium error correction var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0); qrCode.SaveAsPng("MyQR.png"); // Generate QR code with automatic sizing and highest error correction var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example"); autoQr.SaveAsJpeg("AutoQR.jpg"); // Production-ready QR code with validation public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600) { if (string.IsNullOrWhiteSpace(data)) throw new ArgumentException("Data cannot be empty"); if (data.Length > 2953) // QR Code capacity at highest error correction throw new ArgumentException("Data exceeds QR code capacity"); var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High); qr.VerifyQrCode(); // Verify the generated code is valid return qr; } using IronBarCode; // Basic QR code generation with medium error correction var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0); qrCode.SaveAsPng("MyQR.png"); // Generate QR code with automatic sizing and highest error correction var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example"); autoQr.SaveAsJpeg("AutoQR.jpg"); // Production-ready QR code with validation public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600) { if (string.IsNullOrWhiteSpace(data)) throw new ArgumentException("Data cannot be empty"); if (data.Length > 2953) // QR Code capacity at highest error correction throw new ArgumentException("Data exceeds QR code capacity"); var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High); qr.VerifyQrCode(); // Verify the generated code is valid return qr; } $vbLabelText $csharpLabel CreateQrCode 方法接受: 必填:要编码的数据(字符串或流) 可选:图形尺寸(默认 500x500 像素) 可选:纠错级别(低 7%,中 15%,高 25%,最高 30%) 可选:二维码版本号(0 表示自动) 对于高性能批量处理,请使用异步操作和自定义样式。 在不完美条件下工作时,请使用容错功能。 条形码读取教程演示了如何验证生成的条形码。 我可以在二维码中编码哪些数据类型? 生产应用中常见的二维码数据类型包括从各种来源创建条形码。 有关详细示例,请参阅创建二维码示例。 IronBarcode支持Unicode条形码,用于国际字符编码: URL二维码: // Generate QR code for website URL var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800); urlQr.SetMargins(10); // Add quiet zone urlQr.SaveAsPng("campaign-qr.png"); // Advanced URL QR code with tracking public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams) { var uriBuilder = new UriBuilder(baseUrl); var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query); foreach (var param in utmParams) query[param.Key] = param.Value; uriBuilder.Query = query.ToString(); var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000); return qr; } // Generate QR code for website URL var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800); urlQr.SetMargins(10); // Add quiet zone urlQr.SaveAsPng("campaign-qr.png"); // Advanced URL QR code with tracking public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams) { var uriBuilder = new UriBuilder(baseUrl); var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query); foreach (var param in utmParams) query[param.Key] = param.Value; uriBuilder.Query = query.ToString(); var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000); return qr; } $vbLabelText $csharpLabel vCard 联系信息: string vCard = @"BEGIN:VCARD VERSION:3.0 FN:John Smith ORG:Tech Corp TEL:+1-555-0123 EMAIL:john@example.com END:VCARD"; var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium); contactQr.SaveAsPng("contact-card.png"); string vCard = @"BEGIN:VCARD VERSION:3.0 FN:John Smith ORG:Tech Corp TEL:+1-555-0123 EMAIL:john@example.com END:VCARD"; var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium); contactQr.SaveAsPng("contact-card.png"); $vbLabelText $csharpLabel WiFi 配置: string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;"; var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500); wifiQr.SaveAsPng("wifi-config.png"); string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;"; var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500); wifiQr.SaveAsPng("wifi-config.png"); $vbLabelText $csharpLabel IronBarcode处理国际字符的Unicode 支持,并支持Micro QR 和 rMQR等格式,适用于空间受限的应用。 对于特殊格式,请探索新的格式里程碑。 在使用特殊数据格式时,该库可以从流中读取数据并将其导出为流,从而实现高效的内存使用。 如何添加徽标和自定义样式? 使用 CreateQrCodeWithLogo 将公司徽标添加到二维码。 有关完整的样式选项,请参阅自定义二维码示例和二维码样式指南。 该库还支持所有条形码类型的通用条形码样式: // Create QR code with embedded logo var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500); qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed); qrWithLogo.SaveAsPng("Logo_QR_Code.png"); // Advanced logo customization var logo = new QRCodeLogo("company-logo.png") { Width = 100, Height = 100, CornerRadius = 5 }; var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600); // Production-ready branded QR code public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor) { var logo = new QRCodeLogo(logoPath) { Width = 80, Height = 80, CornerRadius = 10 }; var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800); qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor)); qr.SetMargins(15); return qr; } // Create QR code with embedded logo var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500); qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed); qrWithLogo.SaveAsPng("Logo_QR_Code.png"); // Advanced logo customization var logo = new QRCodeLogo("company-logo.png") { Width = 100, Height = 100, CornerRadius = 5 }; var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600); // Production-ready branded QR code public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor) { var logo = new QRCodeLogo(logoPath) { Width = 80, Height = 80, CornerRadius = 10 }; var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800); qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor)); qr.SetMargins(15); return qr; } $vbLabelText $csharpLabel 使用条形码自定义功能应用其他样式。 条形码样式功能提供完整的自定义选项: // Use HTML color codes for brand colors qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000")); qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray); qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME"); qrWithLogo.AddAnnotationTextBelowBarcode("Company Name"); // Use HTML color codes for brand colors qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000")); qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray); qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME"); qrWithLogo.AddAnnotationTextBelowBarcode("Company Name"); $vbLabelText $csharpLabel 有哪些导出格式可供选择? 保存各种格式的二维码,以适应不同的使用场景。 了解更多信息,请参阅保存条形码示例和条形码图像生成器教程。 对于特殊要求,请参阅创建 1-BPP 条形码图像的指南: // Image formats qrWithLogo.SaveAsJpeg("qr.jpg"); qrWithLogo.SaveAsPng("qr.png"); qrWithLogo.SaveAsGif("qr.gif"); qrWithLogo.SaveAsTiff("qr.tiff"); // Web formats qrWithLogo.SaveAsHtmlFile("qr.html"); string dataUrl = qrWithLogo.ToDataUrl(); // Print formats qrWithLogo.SaveAsPdf("qr.pdf"); qrWithLogo.ChangeBarcodeDpi(300); // API formats byte[] qrBytes = qrWithLogo.ToPngBinaryData(); var stream = qrWithLogo.ToStream(); // High-quality print export public void ExportForPrint(GeneratedBarcode qr, string filename) { qr.ChangeBarcodeDpi(600); // 高的 DPI for print qr.ResizeTo(2000, 2000); // Large size qr.SaveAsTiff(filename); // Lossless format } // Image formats qrWithLogo.SaveAsJpeg("qr.jpg"); qrWithLogo.SaveAsPng("qr.png"); qrWithLogo.SaveAsGif("qr.gif"); qrWithLogo.SaveAsTiff("qr.tiff"); // Web formats qrWithLogo.SaveAsHtmlFile("qr.html"); string dataUrl = qrWithLogo.ToDataUrl(); // Print formats qrWithLogo.SaveAsPdf("qr.pdf"); qrWithLogo.ChangeBarcodeDpi(300); // API formats byte[] qrBytes = qrWithLogo.ToPngBinaryData(); var stream = qrWithLogo.ToStream(); // High-quality print export public void ExportForPrint(GeneratedBarcode qr, string filename) { qr.ChangeBarcodeDpi(600); // 高的 DPI for print qr.ResizeTo(2000, 2000); // Large size qr.SaveAsTiff(filename); // Lossless format } $vbLabelText $csharpLabel 有关 PDF 的特定操作,请参阅有关在 PDF 中创建条形码和在现有 PDF 上添加条形码的指南。 从 PDF 读取条形码时,请使用PDF 条形码阅读器设置以获得最佳效果。 如何在Web应用程序中实现二维码? 对于ASP.NET MVC 应用程序,实现无文件 I/O 的流式传输。 该库支持创建 HTML 条形码,以便直接集成到 Web 中: public IActionResult GetQrCode(string data) { var qr = QRCodeWriter.CreateQrCode(data, 400); byte[] qrBytes = qr.ToPngBinaryData(); return File(qrBytes, "image/png", "qrcode.png"); } // Stream directly without disk I/O public IActionResult StreamQrCode(string content) { var qr = QRCodeWriter.CreateQrCode(content, 500); var stream = qr.ToStream(); return File(stream, "image/png"); } // Generate HTML-embedded QR codes public IActionResult GetHtmlQrCode(string data) { var qr = QRCodeWriter.CreateQrCode(data, 400); var htmlString = qr.ToHtmlTag(); return Content(htmlString, "text/html"); } public IActionResult GetQrCode(string data) { var qr = QRCodeWriter.CreateQrCode(data, 400); byte[] qrBytes = qr.ToPngBinaryData(); return File(qrBytes, "image/png", "qrcode.png"); } // Stream directly without disk I/O public IActionResult StreamQrCode(string content) { var qr = QRCodeWriter.CreateQrCode(content, 500); var stream = qr.ToStream(); return File(stream, "image/png"); } // Generate HTML-embedded QR codes public IActionResult GetHtmlQrCode(string data) { var qr = QRCodeWriter.CreateQrCode(data, 400); var htmlString = qr.ToHtmlTag(); return Content(htmlString, "text/html"); } $vbLabelText $csharpLabel 对于Blazor应用,实现响应式二维码生成: @page "/qrcode" @using IronBarCode <input @bind="qrText" placeholder="Enter text" /> <button @onclick="GenerateQr">Generate</button> @if (!string.IsNullOrEmpty(QrCodeDataUrl)) { <img src="@QrCodeDataUrl" alt="QR Code" /> } @code { private string qrText = ""; private string QrCodeDataUrl = ""; private void GenerateQr() { if (!string.IsNullOrEmpty(qrText)) { var qr = QRCodeWriter.CreateQrCode(qrText, 400); QrCodeDataUrl = qr.ToDataUrl(); } } } @page "/qrcode" @using IronBarCode <input @bind="qrText" placeholder="Enter text" /> <button @onclick="GenerateQr">Generate</button> @if (!string.IsNullOrEmpty(QrCodeDataUrl)) { <img src="@QrCodeDataUrl" alt="QR Code" /> } @code { private string qrText = ""; private string QrCodeDataUrl = ""; private void GenerateQr() { if (!string.IsNullOrEmpty(qrText)) { var qr = QRCodeWriter.CreateQrCode(qrText, 400); QrCodeDataUrl = qr.ToDataUrl(); } } } $vbLabelText $csharpLabel 要将条形码导出为 HTML,请参阅创建条形码为 HTML 指南。 在 Web 应用程序中应用许可证时,请参阅web.config 许可证密钥指南。 二维码实施的最佳实践是什么? 我应该选择哪个纠错级别? 纠错能力会影响系统的韧性和容量。 有关详细信息,请参阅纠错指南。 该库包含机器学习置信度阈值,以提高准确率: 级别 恢复 使用案例 低 7% 清洁的数字环境 语言 15% 印刷材料、名片 高的 25% 户外标牌、手拿物品 最高 30% 工业用途,添加标识 我的二维码应该有多大? 根据扫描距离计算最佳尺寸。 了解如何设置边距以提高扫描效果。 以下边距设置示例展示了最佳实践: // 1:10 ratio - 1cm QR per 10cm distance int CalculateQrSize(double scanDistanceMeters) { int sizeInCm = (int)(scanDistanceMeters * 10); return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI } // Set appropriate margins for reliable scanning public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance) { int size = CalculateQrSize(scanDistance); var qr = QRCodeWriter.CreateQrCode(data, size); qr.SetMargins(size / 20); // 5% margin return qr; } // 1:10 ratio - 1cm QR per 10cm distance int CalculateQrSize(double scanDistanceMeters) { int sizeInCm = (int)(scanDistanceMeters * 10); return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI } // Set appropriate margins for reliable scanning public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance) { int size = CalculateQrSize(scanDistance); var qr = QRCodeWriter.CreateQrCode(data, size); qr.SetMargins(size / 20); // 5% margin return qr; } $vbLabelText $csharpLabel 如何确保移动设备兼容性? 通过条形码阅读器设置改进移动扫描。 如果遇到识别问题,请参阅条形码无法识别故障排除指南: public GeneratedBarcode CreateMobileOptimizedQr(string data) { var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SetMargins(20); // Adequate quiet zone qr.ChangeBarCodeColor(System.Drawing.Color.Black); qr.ChangeBackgroundColor(System.Drawing.Color.White); return qr; } public GeneratedBarcode CreateMobileOptimizedQr(string data) { var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SetMargins(20); // Adequate quiet zone qr.ChangeBarCodeColor(System.Drawing.Color.Black); qr.ChangeBackgroundColor(System.Drawing.Color.White); return qr; } $vbLabelText $csharpLabel 对于跨平台移动开发,请探索.NET MAUI条形码扫描器教程。 该库原生支持iOS和Android平台。## 常见集成场景 创建营销活动二维码 要实现带有自定义品牌标识的可追踪营销二维码,请参阅条形码读取速度管理指南: public GeneratedBarcode CreateCampaignQr(string campaignId, string userId) { string trackingUrl = "___PROTECTED_URL_79___"; var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000); qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A")); qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}"); return qr; } // Batch generate campaign materials public async Task GenerateCampaignBatch(List<string> userIds, string campaignId) { var tasks = userIds.Select(async userId => { var qr = CreateCampaignQr(campaignId, userId); await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png")); }); await Task.WhenAll(tasks); } public GeneratedBarcode CreateCampaignQr(string campaignId, string userId) { string trackingUrl = "___PROTECTED_URL_79___"; var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000); qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A")); qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}"); return qr; } // Batch generate campaign materials public async Task GenerateCampaignBatch(List<string> userIds, string campaignId) { var tasks = userIds.Select(async userId => { var qr = CreateCampaignQr(campaignId, userId); await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png")); }); await Task.WhenAll(tasks); } $vbLabelText $csharpLabel 生成产品标签二维码 创建用于库存管理的二维码。 有关处理特殊格式的信息,请参阅GS1-128 故障排除指南。 使用特定类型的条形码(例如Code 39或MSI 条形码)时,请参考特定格式的指南: public void GenerateProductLabel(Product product) { var productData = new { sku = product.SKU, batch = product.BatchNumber, expiry = product.ExpiryDate.ToString("yyyy-MM-dd") }; string json = System.Text.Json.JsonSerializer.Serialize(productData); var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High); qr.AddAnnotationTextAboveBarcode(product.Name); qr.SaveAsPng($"labels/product-{product.SKU}.png"); } // Generate 1-BPP labels for thermal printers public void GenerateThermalLabel(Product product) { var qr = CreateProductQr(product); qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png"); } public void GenerateProductLabel(Product product) { var productData = new { sku = product.SKU, batch = product.BatchNumber, expiry = product.ExpiryDate.ToString("yyyy-MM-dd") }; string json = System.Text.Json.JsonSerializer.Serialize(productData); var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High); qr.AddAnnotationTextAboveBarcode(product.Name); qr.SaveAsPng($"labels/product-{product.SKU}.png"); } // Generate 1-BPP labels for thermal printers public void GenerateThermalLabel(Product product) { var qr = CreateProductQr(product); qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png"); } $vbLabelText $csharpLabel 对于特殊标签打印,请查看1-BPP 条形码图像指南。 阅读多页文档时,请参阅多页 GIF 和 TIFF 指南。 提高条形码扫描性能 对于大批量扫描应用,实施作物区域以限制扫描区域并提高性能。 读取速度选项可对精度和速度之间的权衡进行精细控制: // Define crop region for faster scanning var cropRegion = new Rectangle(100, 100, 300, 300); var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Faster, ExpectBarcodeTypes = BarcodeEncoding.QRCode, CropArea = cropRegion }; var results = BarcodeReader.Read("image.png", options); // Define crop region for faster scanning var cropRegion = new Rectangle(100, 100, 300, 300); var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Faster, ExpectBarcodeTypes = BarcodeEncoding.QRCode, CropArea = cropRegion }; var results = BarcodeReader.Read("image.png", options); $vbLabelText $csharpLabel 在使用System.Drawing 对象时,该库通过 IronDrawing 提供跨平台兼容性。 要点总结 IronBarcode为.NET应用程序提供完整的二维码生成解决方案。 该库提供直观的 API、丰富的文档和可用于生产环境的功能,包括容错性、跨平台支持和性能优化。 通过更新日志了解最新功能。 对于注重安全性的部署,请查看安全 CVE 披露信息。 请在许可页面查找许可信息。 IronBarcode提供免费的开发者许可证,并提供包括支持和更新在内的高级选项。 对于现有客户,请了解许可证延期和升级选项。 如果您需要有关许可方面的帮助,请参阅许可证密钥申请指南和web.config 许可设置。 对于生产环境部署,请参考AWS Lambda 、 Azure Functions和Docker 容器的相关指南。 要排查具体的部署问题,请参阅AWS Lambda 运行时指南和运行时复制异常解决方案。 如果遇到误报,请查阅详细的故障排除指南。 如需技术支持,请提交工程请求。 该库会定期进行更新,如产品更新部分所示,以确保持续的兼容性和新功能。 快速入门二维码示例 只需几行代码即可生成具有自定义样式的二维码。 如需更多示例,请访问创建条形码示例,并探索读取条形码教程,以获取完整的条形码解决方案。 其他示例包括从 PDF 读取条形码和从数据创建条形码: using IronBarCode; // Create QR code with custom size and error correction var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High); // Add styling qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy); qrCode.AddBarcodeValueTextBelowBarcode(); // Save as image qrCode.SaveAsPng("quickstart-qr.png"); // Export for API byte[] pngBytes = qrCode.ToPngBinaryData(); using IronBarCode; // Create QR code with custom size and error correction var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High); // Add styling qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy); qrCode.AddBarcodeValueTextBelowBarcode(); // Save as image qrCode.SaveAsPng("quickstart-qr.png"); // Export for API byte[] pngBytes = qrCode.ToPngBinaryData(); $vbLabelText $csharpLabel IronBarcode支持通过.NET MAUI在AWS Lambda 、 Azure 、 Docker和移动平台上部署。 如需技术支持,请提交工程请求。 查看安全漏洞 CVE 披露信息,以满足企业安全要求。 探索条形码读取功能,了解条形码识别的全部功能,包括支持读取 Code 39 条形码和其他特殊格式。 该库功能齐全,适用于需要可靠的条形码生成和扫描功能的企业应用程序。 常见问题解答 如何在 .NET 应用程序中生成 QR 代码? 您可以通过使用 IronBarcode 中的 QRCodeWriter.CreateQrCode 方法在 .NET 应用程序中生成二维码。该方法允许您指定二维码数据、大小和错误校正级别。 QR 代码有哪些可用的自定义选项? IronBarcode 允许对 QR 代码进行自定义,包括更改颜色和嵌入公司徽标等图像。这些功能增强了 QR 代码的视觉吸引力和品牌集成。 如何在我的项目中安装 IronBarcode 库? 您可以通过 Visual Studio 的 NuGet 包管理器 UI、包管理器控制台或从 NuGet 网站下载,将 IronBarcode 安装到您的项目中。 IronBarcode可用于从视频帧中读取条码吗? 是的,IronBarcode 可以处理视频帧,允许通过修正旋转和噪声以实时读取条形码,从而提高条形码读取效率。 使用 IronBarcode 生成的 QR 代码可以保存为哪些文件格式? 使用 IronBarcode 生成的 QR 代码可以以多种格式保存,包括 PNG 和 HTML,为不同的应用程序需求提供灵活性。 IronBarcode 是否适用于控制台和网络应用程序? 是的,IronBarcode 兼具灵活性,可以在控制台和 .NET MVC 网络应用程序中使用,是各种开发环境的强大选择。 IronBarcode 中的 QR 代码有哪些纠错级别可用? IronBarcode 支持四个级别的QR代码纠错:低、中、高和最高,确保即使QR代码损坏也能保持数据完整性。 IronBarcode 的许可选项是什么? IronBarcode 提供了一个免费开发者许可证和一个包含额外支持和更新的高级版本,以满足不同的开发和业务需求。 IronBarcode 是否兼容 .NET Core 和 .NET Framework? 是的,IronBarcode 兼容 .NET Core 和 .NET Framework,支持包括32位和64位系统在内的各种体系结构。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已发布2026年3月8日 为.NET应用程序创建条码专业SDK 一个全面的.NET条码SDK,用于QR码、GS1、数据矩阵等。支持.NET 6-10、Core和Framework。 阅读更多 已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多 已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多 C# Barcode Scanner Step-by-Step TutorialHow to Generate QR Code in C# Windo...
已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多
已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多