使用 IRONBARCODE 如何使用 IronBarcode 在 C# 中產生二維碼 Curtis Chau 更新:2026年1月18日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 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; } Imports IronBarCode ' Basic QR code generation with medium error correction Dim qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0) qrCode.SaveAsPng("MyQR.png") ' Generate QR code with automatic sizing and highest error correction Dim autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example") autoQr.SaveAsJpeg("AutoQR.jpg") ' Production-ready QR code with validation Public Function CreateValidatedQrCode(data As String, Optional size As Integer = 600) As GeneratedBarcode If String.IsNullOrWhiteSpace(data) Then Throw New ArgumentException("Data cannot be empty") End If If data.Length > 2953 Then ' QR Code capacity at highest error correction Throw New ArgumentException("Data exceeds QR code capacity") End If Dim qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High) qr.VerifyQrCode() ' Verify the generated code is valid Return qr End Function $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; } Imports System Imports System.Collections.Generic Imports System.Web ' Generate QR code for website URL Dim 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 Function CreateTrackableUrlQr(baseUrl As String, utmParams As Dictionary(Of String, String)) As GeneratedBarcode Dim uriBuilder = New UriBuilder(baseUrl) Dim query = HttpUtility.ParseQueryString(uriBuilder.Query) For Each param In utmParams query(param.Key) = param.Value Next uriBuilder.Query = query.ToString() Dim qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000) Return qr End Function $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"); Dim vCard As String = "BEGIN:VCARD" & vbCrLf & _ "VERSION:3.0" & vbCrLf & _ "FN:John Smith" & vbCrLf & _ "ORG:Tech Corp" & vbCrLf & _ "TEL:+1-555-0123" & vbCrLf & _ "EMAIL:john@example.com" & vbCrLf & _ "END:VCARD" Dim 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"); Dim wifiConfig As String = "WIFI:T:WPA;S:NetworkName;P:Password123;;" Dim 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; } Imports System.Drawing ' Create QR code with embedded logo Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500) qrWithLogo.ChangeBarCodeColor(Color.DarkRed) qrWithLogo.SaveAsPng("Logo_QR_Code.png") ' Advanced logo customization Dim logo As New QRCodeLogo("company-logo.png") With { .Width = 100, .Height = 100, .CornerRadius = 5 } Dim advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600) ' Production-ready branded QR code Public Function CreateBrandedQrCode(data As String, logoPath As String, brandColor As String) As GeneratedBarcode Dim logo As New QRCodeLogo(logoPath) With { .Width = 80, .Height = 80, .CornerRadius = 10 } Dim qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800) qr.ChangeBarCodeColor(ColorTranslator.FromHtml(brandColor)) qr.SetMargins(15) Return qr End Function $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"); ' 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 } ' Image formats qrWithLogo.SaveAsJpeg("qr.jpg") qrWithLogo.SaveAsPng("qr.png") qrWithLogo.SaveAsGif("qr.gif") qrWithLogo.SaveAsTiff("qr.tiff") ' Web formats qrWithLogo.SaveAsHtmlFile("qr.html") Dim dataUrl As String = qrWithLogo.ToDataUrl() ' Print formats qrWithLogo.SaveAsPdf("qr.pdf") qrWithLogo.ChangeBarcodeDpi(300) ' API formats Dim qrBytes As Byte() = qrWithLogo.ToPngBinaryData() Dim stream = qrWithLogo.ToStream() ' High-quality print export Public Sub ExportForPrint(qr As GeneratedBarcode, filename As String) qr.ChangeBarcodeDpi(600) ' 高的 DPI for print qr.ResizeTo(2000, 2000) ' Large size qr.SaveAsTiff(filename) ' Lossless format End Sub $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"); } Public Function GetQrCode(data As String) As IActionResult Dim qr = QRCodeWriter.CreateQrCode(data, 400) Dim qrBytes As Byte() = qr.ToPngBinaryData() Return File(qrBytes, "image/png", "qrcode.png") End Function ' Stream directly without disk I/O Public Function StreamQrCode(content As String) As IActionResult Dim qr = QRCodeWriter.CreateQrCode(content, 500) Dim stream = qr.ToStream() Return File(stream, "image/png") End Function ' Generate HTML-embedded QR codes Public Function GetHtmlQrCode(data As String) As IActionResult Dim qr = QRCodeWriter.CreateQrCode(data, 400) Dim htmlString As String = qr.ToHtmlTag() Return Content(htmlString, "text/html") End Function $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(); } } } @page "/qrcode" @Imports IronBarCode <input @bind="qrText" placeholder="Enter text" /> <button @onclick="GenerateQr">Generate</button> @if Not String.IsNullOrEmpty(QrCodeDataUrl) Then <img src="@QrCodeDataUrl" alt="QR Code" /> End If @Code Private qrText As String = "" Private QrCodeDataUrl As String = "" Private Sub GenerateQr() If Not String.IsNullOrEmpty(qrText) Then Dim qr = QRCodeWriter.CreateQrCode(qrText, 400) QrCodeDataUrl = qr.ToDataUrl() End If End Sub End Code $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; } ' 1:10 ratio - 1cm QR per 10cm distance Private Function CalculateQrSize(scanDistanceMeters As Double) As Integer Dim sizeInCm As Integer = CInt(scanDistanceMeters * 10) Return CInt(sizeInCm * 37.8) ' Convert to pixels at 96 DPI End Function ' Set appropriate margins for reliable scanning Public Function CreateScanOptimizedQr(data As String, scanDistance As Integer) As GeneratedBarcode Dim size As Integer = CalculateQrSize(scanDistance) Dim qr = QRCodeWriter.CreateQrCode(data, size) qr.SetMargins(size / 20) ' 5% margin Return qr End Function $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; } Public Function CreateMobileOptimizedQr(ByVal data As String) As GeneratedBarcode Dim 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 End Function $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); } Imports System.Drawing Imports System.Threading.Tasks Public Class BarcodeGenerator Public Function CreateCampaignQr(campaignId As String, userId As String) As GeneratedBarcode Dim trackingUrl As String = "___PROTECTED_URL_79___" Dim qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000) qr.ChangeBarCodeColor(ColorTranslator.FromHtml("#1E3A8A")) qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}") Return qr End Function ' Batch generate campaign materials Public Async Function GenerateCampaignBatch(userIds As List(Of String), campaignId As String) As Task Dim tasks = userIds.Select(Async Function(userId) Dim qr = CreateCampaignQr(campaignId, userId) Await Task.Run(Sub() qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png")) End Function) Await Task.WhenAll(tasks) End Function End Class $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"); } Public Sub GenerateProductLabel(product As Product) Dim productData = New With { .sku = product.SKU, .batch = product.BatchNumber, .expiry = product.ExpiryDate.ToString("yyyy-MM-dd") } Dim json As String = System.Text.Json.JsonSerializer.Serialize(productData) Dim qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High) qr.AddAnnotationTextAboveBarcode(product.Name) qr.SaveAsPng($"labels/product-{product.SKU}.png") End Sub ' Generate 1-BPP labels for thermal printers Public Sub GenerateThermalLabel(product As Product) Dim qr = CreateProductQr(product) qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png") End Sub $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); ' Define crop region for faster scanning Dim cropRegion As New Rectangle(100, 100, 300, 300) Dim options As New BarcodeReaderOptions With { .Speed = ReadingSpeed.Faster, .ExpectBarcodeTypes = BarcodeEncoding.QRCode, .CropArea = cropRegion } Dim 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(); Imports IronBarCode ' Create QR code with custom size and error correction Dim 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 Dim pngBytes As Byte() = qrCode.ToPngBinaryData() $vbLabelText $csharpLabel IronBarcode 支援透過.NET MAUI在AWS Lambda 、 Azure 、 Docker和行動平台上部署。 如需技術支持,請提交工程請求。 查看安全漏洞 CVE 揭露訊息,以滿足企業安全要求。 探索條碼讀取功能,了解條碼辨識的全部功能,包括支援讀取 Code 39 條碼和其他特殊格式。 此程式庫功能齊全,適用於需要可靠的條碼產生和掃描功能的企業應用程式。 常見問題解答 如何在.NET應用程式中產生二維碼? 您可以使用 IronBarcode 庫中的QRCodeWriter.CreateQrCode方法在 .NET 應用程式中產生二維碼。此方法可讓您指定二維碼資料、尺寸和糾錯等級。 二維碼有哪些自訂選項? IronBarcode 允許使用者自訂二維碼,包括更改顏色和嵌入圖片,例如公司徽標。這些功能增強了二維碼的視覺吸引力,並提升了品牌整合度。 如何在我的專案中安裝 IronBarcode 庫? 您可以透過 Visual Studio 的 NuGet 套件管理器 UI、套件管理器控制台或從 NuGet 網站下載的方式,將 IronBarcode 安裝到您的專案中。 IronBarcode 能否用於讀取視訊幀中的條碼? 是的,IronBarcode 可以處理視訊幀,透過校正旋轉和噪聲,即時讀取條碼,從而提高條碼讀取效率。 使用 IronBarcode 產生的二維碼可以使用哪些檔案格式儲存? 使用 IronBarcode 產生的二維碼可以儲存為多種格式,包括 PNG 和 HTML,從而為不同的應用需求提供彈性。 IronBarcode 同時適用於控制台應用程式和 Web 應用程式? 是的,IronBarcode 功能全面,既可用於控制台應用程序,也可用於 .NET MVC Web 應用程序,使其成為各種開發環境的強大選擇。 IronBarcode 中 QR 碼有哪些糾錯等級? IronBarcode 支援 QR 碼的四級糾錯:低、中、高和最高,即使 QR 碼損壞也能確保資料完整性。 IronBarcode有哪些授權許可選項? IronBarcode 提供免費的開發者許可證和包含額外支援和更新的高級版本,以滿足不同的開發和業務需求。 IronBarcode 與 .NET Core 和 .NET Framework 相容嗎? 是的,IronBarcode 與 .NET Core 和 .NET Framework 都相容,支援包括 32 位元和 64 位元系統在內的各種架構。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 相關文章 更新2026年1月22日 ASP.NET 條碼掃描器教學:C# 條碼產生器指南 學習如何使用 IronBarcode 在 ASP.NET 中掃描條碼 閱讀更多 發表日期 2026年1月21日 C# 資料矩陣產生器:IronBarcode 完整指南 C# 資料矩陣條碼產生器教學。學習如何使用 IronBarcode 建立 ECC200 資料矩陣條碼。提供簡單的二維條碼生成程式碼範例。 閱讀更多 發表日期 2026年1月21日 使用 IronBarcode 的 Xamarin 條碼產生器建立專業品質的條碼 使用 IronBarcode 和 Xamarin 條碼產生器,學習如何建立專業品質的條碼。 閱讀更多 C# 條碼掃描器逐步教學如何在 C# Windows 應用程式...
發表日期 2026年1月21日 C# 資料矩陣產生器:IronBarcode 完整指南 C# 資料矩陣條碼產生器教學。學習如何使用 IronBarcode 建立 ECC200 資料矩陣條碼。提供簡單的二維條碼生成程式碼範例。 閱讀更多
發表日期 2026年1月21日 使用 IronBarcode 的 Xamarin 條碼產生器建立專業品質的條碼 使用 IronBarcode 和 Xamarin 條碼產生器,學習如何建立專業品質的條碼。 閱讀更多