跳過到頁腳內容
使用IRONBARCODE

.NET QR碼產生器(代碼示例教程)

本教程將使用IronBarcode作為核心庫來生成具有多種行業應用的QR碼。

介紹 IronBarcode

附加功能

  • IronBarcode可以讀取和寫入大多數條形碼類型和QR標準,例如UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar和CodaB。
  • IronBarcode自動預處理條形碼圖片以提高讀取效率和精度。
  • IronBarcode can read scans and live video frames, correcting rotation, noise, distortion, and skewing.
  • IronBarcode可以跨多個處理器和線程使用(對於進行批量處理的服務器應用程序非常有用)。
  • IronBarcode可以在單頁和多頁文檔中自動找到一個或多個條形碼。
  • IronBarcode支持32位和64位架構,並且可以在.NET實現(.NET Core和.NET Framework)中使用。
  • IronBarcode支持控制台、桌面、雲端和PC及移動平台上的Web應用程序。
  • IronBarcode可以為多種文件和流格式生成QR碼圖片,包括PDF、JPG、TIFF、GIF、BMP、PNG和HTML。

使用IronBarcode生成QR碼

本文的後續部分將提供一個示例,展示如何輕鬆生成QR碼。

步驟1. 創建一個新項目

打開Visual Studio,並從文件菜單中選擇新建項目

在出現的窗口中選擇控制台應用程序模板,然後單擊下一步。

.NET QR碼生成器(代碼示例教程),圖1:在Visual Studio中為QR碼生成創建一個新的控制台應用程序 在Visual Studio中為QR碼生成創建一個新的控制台應用程序

項目名稱文本字段中輸入您喜歡的名稱(例如QR碼生成器),然後在位置字段中指定新項目的位置。 然後,單擊下一步按鈕繼續。

.NET QR碼生成器(代碼示例教程),圖2:在Visual Studio中為新控制台應用程序選擇名稱和位置以創建QR碼。 在Visual Studio中為新控制台應用程序選擇名稱和位置以創建QR碼

框架下拉菜單中選擇一個.NET框架(此處我們使用.NET 6.0(長期支持)),然後單擊創建。

.NET QR碼生成器(代碼示例教程),圖3:在Visual Studio中在.NET 6.0框架下創建新的控制台應用程序 在Visual Studio中在.NET 6.0框架下創建新的控制台應用程序

步驟2. 安裝條碼庫

2.1 使用 IronBarcode

您可以通過四種方式下載和安裝IronBarcode庫。

這些方式包括:

  • 使用Visual Studio的NuGet包管理器UI,
  • 使用Visual Studio的包管理器控制台,
  • 從NuGet網站直接下載,或
  • 從IronBarcode網站直接下載。

2.1.1 使用Visual Studio的包管理器UI

從工具欄,轉到工具 > NuGet包管理器 > 管理解決方案的NuGet包...以打開包管理器UI。

.NET QR碼生成器(代碼示例教程),圖4:使用Visual Studio的NuGet包管理器UI安裝IronBarcode庫。 使用Visual Studio的NuGet包管理器UI安裝IronBarcode庫

或者,您可以右鍵單擊解決方案資源管理器窗口中的項目名稱,並從上下文菜單中選擇管理NuGet包...

點擊瀏覽選項卡,並在搜索框中輸入條碼。 從相關包列表中選擇IronBarcode(如下面的圖片顯示為首結果),在右邊選擇您的項目,然後點擊安裝按鈕。

![#### 2.1.2 使用Visual Studio的包管理器控制台 在包管理器UI中搜索IronBarcode庫。它可能出現在搜索結果中所有其他庫之前 #### 2.1.2 使用Visual Studio的包管理器控制台 前往工具 > NuGet包管理器 > 包管理器控制台。 在出現的命令行面板中輸入以下命令並按下ENTER鍵:

上述命令將下載並將庫安裝到當前項目中。

2.1.3 從NuGet網站下載庫 在瀏覽器中搜索NuGet畫廊網站上的條碼庫頁面(或點擊此NuGet 條碼包鏈接以直接訪問頁面)。

Install-Package BarCode

從右側菜單中單擊下載包鏈接以將庫保存到您的計算機上。

接下來,雙擊文件管理器中下載的庫以自動將其安裝到您的項目中。

Search for the Barcode library page on the NuGet Gallery website in your browser, (or click on this NuGet BarCode package link to access the page directly).

2.1.4 從IronBarcode網站下載庫 單擊IronBarcode主頁以下載最新的.NET條碼DLL。 下載後,按照以下步驟將包添加到您的項目中:

  1. 解決方案資源管理器面板中右鍵單擊項目,然後單擊添加 > 引用

.NET QR碼生成器(代碼示例教程),圖6:直接從Visual Studio將IronBarcode DLL添加到項目中。 直接從Visual Studio將IronBarcode DLL添加到項目中

  1. 單擊瀏覽按鈕並導航到您提取DLL的位置。

選擇DLL後,點擊OK以將其添加到您的項目中。 .NET QR碼生成器(代碼示例教程),圖7:將IronBarcode DLL作為新COM引用插入到項目中。

將IronBarcode DLL作為新引用插入到項目中 #### 3.1 在Windows/控制台應用程序中使用IronBarcode

通過調用QRCodeWriter類中: CreateQrCode方法接受一個必需參數,即要在QR碼圖片中編碼的數據(可以是字串)。

步驟3. 生成QR代碼圖像

該方法還接受三個可選參數:

Generate a new QR code by invoking the CreateQrCode method from the QRCodeWriter class:

using IronBarCode; // Add IronBarCode namespace at the top

var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
using IronBarCode; // Add IronBarCode namespace at the top

var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
Imports IronBarCode ' Add IronBarCode namespace at the top

Private qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)
qrCode.SaveAsPng("MyQR.png")
$vbLabelText   $csharpLabel
  1. 錯誤校正級別。 IronBarcode提供四個級別的錯誤校正:低、中、高和最高。默認情況下,CreateQrCode使用最高校正級別QRCodeWriter.QrErrorCorrectionLevel.Highest

  2. QR符號版本號。 請參閱本頁以獲取有效版本列表。 值為0(默認值)告訴方法使用基於它將編碼的數據的正確版本號。 上面的示例生成一個500像素×500像素的圖形,使用中等水平的錯誤校正。 隨後調用生成的QR碼的SaveAsPng方法,將其保存為給定文件位置的PNG文件。 .NET QR碼生成器(代碼示例教程),圖8: 使用上述參數調用QrCodeWriter.CreateQrCode的結果。

使用上述參數調用QrCodeWriter.CreateQrCode的結果 接下來,下面的示例代碼使用CreateQrCodeWithLogo方法向生成的QR碼添加公司徽標,這是一個典型的業務使用情境。

在上面的示例中,“Hello, World”的字串值被編碼到新的QR碼中,該QR碼嵌入了位於指定文件路徑的圖像。 圖像將自動調整大小以適合QR碼網格,這樣QR碼讀取器仍然可以讀取純代碼數據。

上面代碼中的下一行使用ChangeBarCodeColor方法將QR碼的顏色更改為深紅色。

var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png", 500)
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed)
qrWithLogo.SaveAsPng("Logo_QR_Code.png")
$vbLabelText   $csharpLabel

在此,我們使用C#提供的可用系統顏色類型之一進行著色(即System.Drawing.Color.DarkRed)。 可以使用HTML十六進制顏色符號指定顏色,如下面代碼行所示:

上面代碼示例中的最後一行代碼調用SaveAsPng方法將QR碼保存為PNG文件。QR碼可以保存為其他文件格式,例如HTML: 請參閱此文檔頁面以獲取QR碼可保存的文件類型的完整列表。 .NET QR碼生成器(代碼示例教程),圖9:在IronBarcode的QRCodeWriter類提供的方法中,生成不同顏色、不同文件格式和使用不同圖像的QR碼。

qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
$vbLabelText   $csharpLabel

在IronBarcode的QRCodeWriter類提供的方法中,生成不同顏色、不同文件格式和使用不同圖像的QR碼

qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

3.2 在Web應用中使用IronBarcode

這段代碼演示了IronBarcode如何在.NET MVC Web應用程序中使用: 上面的示例運行方式與之前的示例非常類似。

首先生成一個QR碼,然後將其返回給客戶端作為響應正文。

IronBarcode是可用於讀寫條碼的最快和最強大的庫之一。

public IActionResult Index()
{
    var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
    qrCode.SaveAsPng("Demo.png");
    return File("Demo.png", "image/png", "Demo.png", true);
}
public IActionResult Index()
{
    var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
    qrCode.SaveAsPng("Demo.png");
    return File("Demo.png", "image/png", "Demo.png", true);
}
Public Function Index() As IActionResult
	Dim qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)
	qrCode.SaveAsPng("Demo.png")
	Return File("Demo.png", "image/png", "Demo.png", True)
End Function
$vbLabelText   $csharpLabel

這個簡單的庫支持各種操作系統,支持多種條碼格式,並且易於使用。 IronBarcode的使用許可和法律信息可在許可頁面上找到。

結論

IronBarcode在免費開發人員許可下免費使用。 高級(付費)開發者許可包括一年免費支持和產品更新。

The licensing and legal information for using IronBarcode can be found on the licensing page. IronBarcode is free to use under the Free Developer License. The premium (paid) developer licensing includes one year of free support and product updates.

常見問題解答

如何在 .NET 應用程式中生成 QR 碼?

在 .NET 應用程式中,您可以使用 IronBarcode 中的 QRCodeWriter.CreateQrCode 方法生成 QR 碼。此方法允許您指定 QR 碼的數據、大小和糾錯級別。

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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。