跳過到頁腳內容
使用 IRONQR

NuGet QR Code Generator:僅需幾行程式碼即可在 C# 中產生 QR 碼

在 .NET 應用程式中產生 QR 碼從未如此簡單直接。 透過適當的 NuGet 套件,開發人員只需幾行程式碼即可建立 QR 代碼、自訂其外觀,並將其儲存為多種輸出格式。 IronQR為 .NET Core、.NET Framework 和現代 .NET 版本提供跨平台支援,可生成企業級 QR 碼。

本教學示範如何安裝 IronQR NuGet 套件並立即開始產生 QR 碼。 無論是建立庫存系統、活動票務平台或行銷應用程式,IronQR 都能提供專業 QR 碼實作所需的工具。

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--

如何安裝 QR Code NuGet 套件?

透過 NuGet Package Manager 安裝 IronQR 只需要幾秒鐘。 在 Visual Studio 中打開 NuGet Package Manager Console 並執行下列指令,或在 CLI 環境中使用 dotnet add package 指令:

Install-Package IronQR

NuGet 套件會自動處理所有相依性,確保與您的目標框架相容。 IronQR 支援 .NET Framework 4.6.2+、.NET Core 2.0+ 及 .NET 5-10,是適用於任何 Visual Studio 專案的多功能 .NET 函式庫。

如何產生我的第一個 QR 碼?

建立您的第一個 NuGet QR 代碼需要最少的原始碼。 QrWriter 類以合理的預設值處理 QR 代碼和條碼的產生:

using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Generate a QR code from text data
        QrCode myQr = QrWriter.Write("Hello World");
        // Save QR code as bitmap image
        AnyBitmap qrImage = myQr.Save();
        // Export to PNG file
        qrImage.SaveAs("hello-qr.png");
    }
}
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Generate a QR code from text data
        QrCode myQr = QrWriter.Write("Hello World");
        // Save QR code as bitmap image
        AnyBitmap qrImage = myQr.Save();
        // Export to PNG file
        qrImage.SaveAs("hello-qr.png");
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Class Program
    Shared Sub Main(args As String())
        ' Generate a QR code from text data
        Dim myQr As QrCode = QrWriter.Write("Hello World")
        ' Save QR code as bitmap image
        Dim qrImage As AnyBitmap = myQr.Save()
        ' Export to PNG file
        qrImage.SaveAs("hello-qr.png")
    End Sub
End Class
$vbLabelText   $csharpLabel

QR 程式碼輸出

!a href="/static-assets/qr/blog/nuget-qr-code/nuget-qr-code-1.webp">NuGet QR Code Generator:只需幾行代碼即可在 C# 中生成 QR 碼:圖片 1 - 簡單 QR 輸出

QrWriter.Write() 方法接受字串資料,並傳回一個包含 QR 符號的 QrCode 物件。 Save() 方法將此轉換為 AnyBitmap,它支援編碼為各種影像格式,甚至輸出向量資料為 XAML Path。 此方法可在 Windows、macOS 和 Linux 上無縫運作,而無特定平台的依賴性 - 不像依賴於 System.Drawing 的函式庫,從 .NET 6 開始只適用於 Windows。

有哪些錯誤修正等級?

QR 碼支援四種錯誤修正等級,可決定一組碼在可掃描時可承受的損壞程度。 IronQR 透過 QrOptions 類支援所有層級的編碼:

等級 復原能力 最適合
L (低) ~7% 乾淨的環境、最多的資料
M(中級) ~15% 一般用途 (預設)
Q(四分位數) ~25% 工業應用
H(高) ~30% 標誌、戶外招牌
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Configure high error correction level
        var options = new QrOptions(QrErrorCorrectionLevel.High);
        // Generate QR code with options
        QrCode qr = QrWriter.Write("https://ironsoftware.com", options);
        AnyBitmap image = qr.Save();
        image.SaveAs("high-correction-qr.png");
    }
}
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Configure high error correction level
        var options = new QrOptions(QrErrorCorrectionLevel.High);
        // Generate QR code with options
        QrCode qr = QrWriter.Write("https://ironsoftware.com", options);
        AnyBitmap image = qr.Save();
        image.SaveAs("high-correction-qr.png");
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Class Program
    Shared Sub Main(args As String())
        ' Configure high error correction level
        Dim options As New QrOptions(QrErrorCorrectionLevel.High)
        ' Generate QR code with options
        Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com", options)
        Dim image As AnyBitmap = qr.Save()
        image.SaveAs("high-correction-qr.png")
    End Sub
End Class
$vbLabelText   $csharpLabel

輸出

!a href="/static-assets/qr/blog/nuget-qr-code/nuget-qr-code-2.webp">NuGet QR Code Generator:僅需幾行程式碼即可在 C# 中產生 QR 碼:圖片 2 - 具有高修正等級的 QR

較高的錯誤修正等級可創造出更密集的 QR 符號與更多的原始模組,使代碼即使在部分模糊或損壞的情況下仍能保持可讀性。

如何自訂 QR 碼的外觀?

IronQR 透過 QrStyleOptions 提供廣泛的樣式選項,可自訂顏色、尺寸 (設定為 int)、邊界和標誌嵌入:

using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Create styled QR code with custom colors
        var styleOptions = new QrStyleOptions
        {
            Dimensions = 300,
            Margins = 10,
            Color = Color.DarkBlue,
            BackgroundColor = Color.White
        };
        QrCode qr = QrWriter.Write("https://example.com");
        AnyBitmap styledImage = qr.Save(styleOptions);
        styledImage.SaveAs("styled-qr.png");
    }
}
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Create styled QR code with custom colors
        var styleOptions = new QrStyleOptions
        {
            Dimensions = 300,
            Margins = 10,
            Color = Color.DarkBlue,
            BackgroundColor = Color.White
        };
        QrCode qr = QrWriter.Write("https://example.com");
        AnyBitmap styledImage = qr.Save(styleOptions);
        styledImage.SaveAs("styled-qr.png");
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Class Program
    Shared Sub Main(args As String())
        ' Create styled QR code with custom colors
        Dim styleOptions As New QrStyleOptions With {
            .Dimensions = 300,
            .Margins = 10,
            .Color = Color.DarkBlue,
            .BackgroundColor = Color.White
        }
        Dim qr As QrCode = QrWriter.Write("https://example.com")
        Dim styledImage As AnyBitmap = qr.Save(styleOptions)
        styledImage.SaveAs("styled-qr.png")
    End Sub
End Class
$vbLabelText   $csharpLabel

有風格的 QR 輸出

NuGet QR Code Generator:只需幾行代碼即可在 C# 中生成 QR 碼:圖片 3 - 風格化 QR Code

在 QR 代碼中加入標誌可提高品牌辨識度。 造型系統會自動定位標誌,同時保持可掃描性--相較於需要手動計算的開放原始碼庫替代方案,這是一個顯著的優勢。

如何將 QR 碼儲存為不同的輸出格式?

IronQR 支援多種輸出格式,包括 PNG、JPEG、GIF、TIFF、BMP 和 SVG。 SaveAs 方法會自動從檔案副檔名偵測格式:

using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        QrCode qr = QrWriter.Write("Format demo");
        AnyBitmap image = qr.Save();
        // Save to different PNG file formats
        image.SaveAs("qr-output.png");
        image.SaveAs("qr-output.jpg");
        image.SaveAs("qr-output.gif");
        // Get as byte array for streams
        byte[] pngBytes = image.ExportBytes();
    }
}
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        QrCode qr = QrWriter.Write("Format demo");
        AnyBitmap image = qr.Save();
        // Save to different PNG file formats
        image.SaveAs("qr-output.png");
        image.SaveAs("qr-output.jpg");
        image.SaveAs("qr-output.gif");
        // Get as byte array for streams
        byte[] pngBytes = image.ExportBytes();
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Class Program
    Shared Sub Main(args As String())
        Dim qr As QrCode = QrWriter.Write("Format demo")
        Dim image As AnyBitmap = qr.Save()
        ' Save to different PNG file formats
        image.SaveAs("qr-output.png")
        image.SaveAs("qr-output.jpg")
        image.SaveAs("qr-output.gif")
        ' Get as byte array for streams
        Dim pngBytes As Byte() = image.ExportBytes()
    End Sub
End Class
$vbLabelText   $csharpLabel

多種 QR 碼輸出格式

!a href="/static-assets/qr/blog/nuget-qr-code/nuget-qr-code-4.webp">NuGet QR Code Generator:只需幾行代碼即可在 C# 中生成 QR 碼:圖片 4 - 以不同檔案格式儲存的 QR 碼。

為了在 PDF 文件中嵌入 QR 代碼,IronQR 提供了 StampToExistingPdfPage 方法,可直接在現有文件上放置 QR 代碼,而無需額外的程式庫。

IronQR 與 QRCoder 相比如何?

QRCoder 函式庫是用於 QR 代碼產生的流行開放原始碼函式庫。 然而,之前必須執行 install package qrcoder 的開發人員,往往會發現涉及 qrcodeimage qrcode.getgraphic 呼叫的多步驟程序非常麻煩。 IronQR 與某些可能在幾個月前才更新的社群函式庫不同,IronQR 為企業開發提供了多項優勢:

特點 IronQR QRCoder
跨平台 完全支援 .NET Core/5+ 僅限 Windows 作位圖渲染
ML Powered Reading 99.9% 精確度檢測 僅產生
PDF 整合 原生戳記支援 需要其他庫
商業支持 24/5 工程支援 僅限社群

雖然套件 QRCoder 能很好地進行基本生成,但 IronQR 的機器學習模型能從任何角度提供優異的 QR 代碼讀取能力,這對於處理使用者提交影像的應用程式而言至關重要。 與 QRCoder 涉及 QRCodeGenerator, QRCodeData, 和 QRCode 渲染類的多步驟過程相比,IronQR (QrWriter) 中新的 QRCodeGenerator 方法需要更少行的代碼。

如何編碼二進位資料?

除了文字之外,IronQR 還支援編碼二進位 QR 碼資料的位元組陣列:

using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Encode binary data
        byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content");
        QrCode qr = QrWriter.Write(binaryData);
        qr.Save().SaveAs("binary-qr.png");
    }
}
using IronQr;
using IronSoftware.Drawing;
class Program
{
    static void Main(string[] args)
    {
        // Encode binary data
        byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content");
        QrCode qr = QrWriter.Write(binaryData);
        qr.Save().SaveAs("binary-qr.png");
    }
}
Imports IronQr
Imports IronSoftware.Drawing

Class Program
    Shared Sub Main(args As String())
        ' Encode binary data
        Dim binaryData As Byte() = System.Text.Encoding.UTF8.GetBytes("Binary content")
        Dim qr As QrCode = QrWriter.Write(binaryData)
        qr.Save().SaveAs("binary-qr.png")
    End Sub
End Class
$vbLabelText   $csharpLabel

輸出

NuGet QR Code Generator:只需幾行代碼即可在 C# 中生成 QR 碼:圖片 5 - 二進位編碼 QR 碼

此功能可在 QR 符號中編碼加密的有效負載、序列化物件或任何二進位內容。

結論

IronQR 將產生 QR 碼從複雜的任務轉變為直接的整合。 透過 NuGet 安裝、跨平台相容性,以及將代碼嵌入 PDF 和 ML-powered 讀取的功能,提供專業 .NET 應用程式所需的所有核心功能。

這個函式庫的直覺式 API 代表開發人員可以產生 QR 碼、套用自訂樣式,以及匯出成多種格式,而無須糾結於平台限制或稀少的說明文件。

開始使用免費試用版以探索完整的功能集,或 購買授權以獲得商業支援的生產部署。

常見問題解答

如何使用 IronQR 在 C# 中生成 QR 碼?

透過安裝 IronQR NuGet 套件,您可以用 C# 產生 QR 碼。它讓您只需幾行程式碼即可建立和自訂 QR 碼。

IronQR 支援哪些平台?

IronQR 提供跨平台支援,相容於 .NET Core、.NET Framework 及現代 .NET 版本。

我可以使用 IronQR 自訂 QR 碼的外觀嗎?

是的,IronQR 允許您自訂 QR 碼的外觀,包括顏色和設計,以符合您的特定需求。

儲存 QR 碼支援哪些輸出格式?

使用 IronQR,您可以將 QR 碼儲存為多種輸出格式,使其適用於各種應用程式。

IronQR 支援 QR 碼的 PDF 嵌入嗎?

是的,IronQR 支援在 PDF 文件中嵌入 QR 碼,增強文件的可讀性和功能。

在 .NET 應用程式中實作 IronQR 有多容易?

在 .NET 應用程式中實作 IronQR 非常簡單直接。只要安裝 NuGet 套件,就能以最少的程式碼開始產生 QR 碼。

IronQR 適用於企業級 QR 代碼產生嗎?

IronQR 專為企業級 QR 碼生成而設計,可在各種平台上提供穩健可靠的效能。

IronQR 是否提供 QR 碼讀取的進階功能?

IronQR 包含 ML 驅動的讀取功能,可確保準確且有效率地掃描及處理 QR 碼。

Jordi Bardia
軟體工程師
Jordi 最精通的是 Python、C# 和 C++,當他在 Iron Software 沒有發揮他的技能時;他在進行遊戲程式設計。Jordi 分擔產品測試、產品開發和研究的責任,為產品的持續改善增添無限價值。多樣化的經驗讓他不斷接受挑戰並投入其中,他說這是他在 Iron Software 工作最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,在佛羅里達大學主修電腦科學和統計學。