安裝
透過 NuGet 套件管理器安裝 QRCoder。
NuGet
dotnet add package QRCoderPackage Manager
Install-Package QRCoder使用 QRCoder 產生 QR碼
在 C# 中使用 QRCoder 函式庫的程式碼範例。
Basic QR Code with QRCoder
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
// PNG output
var qrCode = new PngByteQRCode(qrData);
byte[] pngBytes = qrCode.GetGraphic(20);
File.WriteAllBytes("qrcode.png", pngBytes);SVG Output
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
var svgQrCode = new SvgQRCode(qrData);
string svgString = svgQrCode.GetGraphic(20,
"#1A2B3C", "#FFFFFF");
File.WriteAllText("qrcode.svg", svgString);ASP.NET Core Endpoint
app.MapGet("/qr", (string data) =>
{
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode(data,
QRCodeGenerator.ECCLevel.Q);
var qrCode = new PngByteQRCode(qrData);
byte[] png = qrCode.GetGraphic(20);
return Results.File(png, "image/png");
});QRCode.fun API
透過 API 在 C# 中產生 QR碼
使用 HttpClient 從 C# 呼叫 QRCode.fun API 產生樣式化 QR碼。
C# API 整合
using System.Net.Http.Json;
var client = new HttpClient();
var payload = new {
data = "https://qrcode.fun",
width = 300,
height = 300,
type = "png",
margin = 10,
dotsOptions = new { color = "#1A2B3C", type = "rounded" },
cornersSquareOptions = new { color = "#8564C3", type = "extra-rounded" },
backgroundOptions = new { color = "#FFFFFF" }
};
var response = await client.PostAsJsonAsync(
"https://qrcode.fun/api/generate-qr-styled", payload);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result.GetProperty("data").GetString()?[..50]);即時 QR碼預覽
立即嘗試使用 C# 產生 QR碼。
QR碼預覽
原生函式庫 vs API
比較使用 QRCoder 與 QRCode.fun API。
| 功能 | QRCoder | QRCode.fun API |
|---|---|---|
| 設定複雜度 | NuGet 安裝 | 透過 HttpClient 發送單次 HTTP 請求 |
| 自訂 | 顏色、標誌、形狀(ArtQRCode) | 完整樣式:顏色、形狀、標誌 |
| 離線支援 | 是 | 需要網路 |
| 維護 | NuGet 更新 | 始終保持最新 |
| 輸出格式 | PNG, SVG, PDF, ASCII | PNG, SVG |
C# QR碼使用情境
.NET 應用中 QR碼的常見情境。
ASP.NET Web API
在 ASP.NET Core API 中產生 QR碼,用於票券、發票、身份驗證權杖和產品頁面。
WPF 與 MAUI 桌面應用
建立桌面應用,產生 QR碼用於標籤、名片和資產追蹤。
Azure Functions
將 QR碼產生部署為無伺服器 Azure Functions,由 HTTP 請求或佇列訊息觸發。
報告與 PDF
使用 QuestPDF 或 iTextSharp 將 QR碼嵌入 PDF 報告和文件中,用於付款和追蹤。
常見問題
關於使用 C# 產生 QR碼的常見問題。
QRCoder 是一個開源的 .NET QR碼產生函式庫。它支援多種輸出格式,包括 PNG、SVG、PDF 和 ASCII 藝術,無需外部相依性。