使用 IRONBARCODE

.NET QR Code 生成器(代碼範例教程)

喬迪·巴迪亞
喬迪·巴迪亞
2022年9月14日
已更新 2024年2月7日
分享:

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

介紹 IronBarcode

其他功能

  • IronBarcode 能夠讀取和寫入大多數條碼類型和 QR 標準,如 UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar 和 CodaB。
  • IronBarcode 自動預處理條碼圖片以提高閱讀效率和準確性。
  • IronBarcode 可以讀取掃描和即時視頻幀校正旋轉、噪聲、失真和偏斜
  • IronBarcode 可以跨多個核心和執行緒使用(對於執行批次處理的伺服器應用程式非常有用)。
  • IronBarcode 可自動在單頁和多頁文件中找到一個或多個條形碼。
  • IronBarcode 支援 32 位元和 64 位元架構,可用於 .NET 實作(.NET Core 和 .NET Framework)。
  • IronBarcode 支援控制台、桌面、雲端 和 PC 及行動平台上的網路應用程式。
  • IronBarcode 可以生成用於各種文件和流格式的 QR 碼圖像,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML。

使用 IronBarcode 生成 QR 碼

本文章的接下來部分將提供一個範例,以示範如何輕鬆生成 QR 碼。

步驟 1:創建一個新專案

開啟 Visual Studio,從檔案選單中選擇新專案

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

.NET QR Code Generator(程式碼範例教程),圖 1:在 Visual Studio 中為 QR 碼生成創建新的 Console App

在 Visual Studio 中創建新的主控台應用程式以生成 QR 碼

專案名稱文字欄位中,輸入任何您喜歡的專案名稱(例如,QR Code Generator),並在位置欄位中指定新專案的位置。 之後,點擊下一步按鈕繼續。

.NET QR Code Generator(程式碼範例教程),圖2:在 Visual Studio 中選擇新主控台應用程式的名稱和位置以建立 QR 碼。

在 Visual Studio 中選擇名稱和位置來建立新主控台應用程式以生成 QR 碼

框架下拉選單中選擇一個 .NET Framework(這裡我們使用.NET 6.0(長期支援))並點擊創建。

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

在 Visual Studio 中於 .NET 6.0 Framework 下創建新的主控台應用程式

第 2 步。安裝條碼庫

2.1 使用 IronBarcode

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

這些方式是:

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

2.1.1 使用 Visual Studio 的套件管理器 UI

從菜單欄中,前往工具 > NuGet 套件管理員 > 管理方案的 NuGet 套件...以開啟套件管理器用戶界面。

.NET QR Code Generator(代碼範例教學),圖 4:使用 Visual Studio 的 NuGet 封裝管理器 UI 安裝 IronBarcode 函式庫。

使用 Visual Studio 的 NuGet 套件管理器 UI 安裝 IronBarcode 函式庫

或者,您可以從解決方案資源管理器視窗中右鍵點擊您的專案名稱,然後從上下文菜單中選擇管理 NuGet 套件...

點擊瀏覽選項卡,然後在搜索欄中輸入Barcode。 從相關套件列表中選擇IronBarcode(顯示為下圖中的第一個結果),在右側窗格中選擇您的專案,然後點擊安裝按鈕。

.NET QR Code Generator(程式碼範例教程),圖 5:在套件管理器 UI 中搜尋 IronBarcode 函式庫。 它很可能會在所有其他庫之前出現在搜索結果中。

在封裝管理員 UI 中搜尋 IronBarcode 函式庫。 它很可能會在搜尋結果中出現在所有其他庫的前面

2.1.2 使用 Visual Studio 的套件管理員主控台

前往工具 > NuGet 套件管理員 > 套件管理員主控台。 在出現的命令行面板中輸入以下命令並按下 ENTER:

Install-Package BarCode

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

2.1.3 從 NuGet 網站下載庫文件

在瀏覽器中搜尋 NuGet Gallery 網站上的條碼庫頁面(或點擊此 NuGet BarCode 套件連結 直接訪問頁面)。

點擊右側菜單中的下載套件連結以將庫保存到您的電腦上。 接下來,從文件管理器中雙擊下載的庫,以自動將其安裝到您的項目中。 最後,重新載入您的專案,它就可以開始使用了。

2.1.4 從IronBarcode網站下載該庫

點擊IronBarcode 的首頁以下載最新的 .NET 條碼 DLL。 下載後,請按照以下步驟將套件新增至您的專案:

  1. 方案總管面板中右鍵點擊專案,然後點選新增 > COM 參考

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

    直接從 Visual Studio 將 IronBarcode DLL 添加到專案中

  2. 點擊瀏覽按鈕,然後導航到你解壓縮 DLL 的位置。 選擇DLL後,點擊確定將其添加到您的專案中。

    .NET QR Code Generator (代碼示例教程),圖7:將 IronBarcode DLL 作為新 COM 參考插入到您的項目中。

    將 IronBarcode DLL 作為新的 COM 參考插入到您的專案中

步驟 3. 生成 QR Code 圖像

在 Windows/控制台應用程式中使用 IronBarcode

透過從QRCodeWriter類別中調用CreateQrCode方法生成新的 QR 碼:

QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png");
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png");
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png")
$vbLabelText   $csharpLabel

CreateQrCode 方法接受一個必要的參數,即要編碼在二維碼圖像中的資料(可以是 StringStream)。 該方法還接受三個可選參數:

  1. 圖形的寬度和高度(預設為500px × 500px)

  2. 錯誤校正級別。 IronBarcode 提供四個層級的錯誤校正:低、中、高和最高。預設情況下,CreateQrCode 使用最高的校正層級 QRCodeWriter.QrErrorCorrectionLevel.Highest

  3. QR 符號版本號碼。 請參閱此頁面以獲取有效版本的清單。 值為 0(預設值)指示方法根據它將編碼的數據使用正確的版本號。

    上述範例使用中等級別的錯誤校正生成一個500像素乘500像素的圖形。 在生成的 QR 碼上對 SaveAsPng 方法的後續調用會將其儲存為在指定文件位置的 PNG 文件。

    .NET QR Code Generator(程式碼範例教學),圖 8:使用上述參數調用 QrCodeWriter.CreateQrCode 的結果。

    使用上述參數調用 QrCodeWriter.CreateQrCode 的結果

    接下來,下面的範例程式碼使用CreateQrCodeWithLogo方法將公司標誌新增到生成的 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

在以上範例中,一個字串值 "Hello, World" 被編碼成一個嵌入了位於指定檔案路徑的圖像的新 QR 碼。 圖片會自動調整大小以適應 QR 碼的方格網格,對齊到仍能讓 QR 碼讀取器讀取純代碼資料的大小。

上面的下一行代碼使用ChangeBarCodeColor方法將QR碼的顏色更改為深紅色。 在這裡,我們使用 C# 提供的其中一種可用 System 色彩類型進行著色(即 System.Drawing.Color.DarkRed)。 如下面的程式碼所示,可以使用 HTML 十六進位色碼指定顏色:

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

上面程式碼範例的最後一行程式碼調用了 SaveAsPng 方法,將 QR code 保存為 PNG 檔案。QR code 也可以保存為其他檔案格式,例如 HTML:

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

請參閱此文件頁面,瞭解可將 QR 碼儲存的完整檔案類型列表。

.NET QR Code Generator(程式碼範例教學),圖 9:使用 IronBarcode 的 QRCodeWriter 類別中的方法,以不同顏色、不同檔案格式和不同圖片生成 QR 碼。

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

3.2 在網頁應用中使用IronBarcode

這行代碼展示了如何在.NET MVC Web應用程序中使用IronBarcode:

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

上面的範例運作方式與先前的範例非常相似。 首先,生成一個 QR 碼,然後在回應內容中將其返回給客戶端。

結論

IronBarcode 是目前最快且最強大的用於讀取和寫入條碼的庫之一。 這個簡單的庫支援多種操作系統,支援多種條碼格式且易於使用。

有關使用 IronBarcode 的授權和法律資訊,可在授權頁面上找到。 IronBarcode 在免費開發者許可證下可免費使用。 Premium(付費)開發者授權包含一年免費支援和產品更新。

喬迪·巴迪亞
軟體工程師
Jordi 最擅長 Python、C# 和 C++,當他不在 Iron Software 發揮技能時,他會進行遊戲編程。他負責產品測試、產品開發和研究,為持續產品改進增添了巨大的價值。多樣化的經驗使他感到挑戰和投入,他說這是與 Iron Software 合作的最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,並在佛羅里達大學學習計算機科學和統計學。
< 上一頁
C# 條碼掃描器逐步教程
下一個 >
如何在 C# Windows 應用程式中生成 QR 碼