```html Plné zveřejnění: Jsme tým pro rozvoj vztahů se zákazníky ve společnosti Iron Software, která stojí za IronQR, jednou z knihoven v tomto srovnání. To znamená, že věříme, že upřímné hodnocení slouží všem lépe než marketingové fráze. Ukážeme naši metodiku, přiznáme naše předpojatosti a necháme kód mluvit sám za sebe. Každou knihovnu pro generování QR kódů v C# jsme podrobili identickým kritériím hodnocení: jednoduché generování QR kódů, čtení QR kódů z obrázků, hloubka přizpůsobení, podpora napříč platformami a licenční náklady. Níže uvádíme výsledky srovnání 11 pozoruhodných knihoven pro generování QR kódů v ekosystému .NET, které vám pomohou vybrat tu správnou pro váš projekt hned napoprvé. Zde vypadá generování QR kódu pomocí ve Visual Studiu, jedné z knihoven, které budeme probírat, pomocí tří řádků kódu: IronQR using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("https://example.com"); AnyBitmap bitmap = qr.Save(); bitmap.SaveAs("myqr.png"); Příklad výstupu QR kódu z IronQR Tato jednoduchost je samozřejmostí. Skutečná otázka zní, co se stane, když potřebujete poškozený QR kód ze skeneru ve skladu, vložit brandingové logo, cílit na kontejnery Linuxu nebo zpracovat tisíce kódů v dávkovém úkolu. Zde se knihovny liší a zde se toto srovnání vyplatí. přečíst TL;DR: Hlavní srovnávací tabulka Než se ponoříme do detailů, zde je celkový přehled. Tato tabulka zachycuje dimenze, které jsou nejdůležitější při výběru knihovny pro QR kódy pro projekt .NET. Knihovna Generovat Číst Logo/Styling Micro QR Napříč platformami Licence Stahování z NuGet IronQR ✅ ✅ s podporou ML ✅ Plné ✅ + RMQR ✅ Win/Mac/Linux/Mobilní Komerční (749 $ a více) ~56 tisíc QRCoder ✅ ❌ ✅ Střední ✅ ⚠️ Částečné (System.Drawing) MIT (Zdarma) ~68 milionů ZXing.Net ✅ ✅ ❌ Minimální ❌ ⚠️ Přes vazby Apache 2.0 (Zdarma) ~32 milionů Net.Codecrete.QrCodeGenerator ✅ ❌ ❌ ❌ ✅ MIT (Zdarma) ~4,1 milionů SkiaSharp.QrCode ✅ ❌ ✅ Vlastní tvary ❌ ✅ MIT (Zdarma) ~1,2 milionů Aspose.BarCode ✅ ✅ ✅ ✅ ✅ Komerční (999 $ a více) ~5,4 milionů Syncfusion Barcode ✅ ❌ ✅ Střední ❌ ✅ (Ovládací prvek UI) Komerční (Zdarma pro komunitu) ~2 miliony+ Spire.Barcode ✅ ✅ ✅ Vložení loga ❌ ⚠️ (System.Drawing) Komerční (599 $ a více) ~450 tisíc IronBarcode ✅ ✅ ✅ ✅ Micro QR ✅ Win/Mac/Linux Komerční (749 $ a více) ~1,2 milionů Dynamsoft Barcode Reader ❌ ✅ Vysoký výkon N/A ✅ ✅ Komerční (1 249 $/rok a více) ~250 tisíc BarcodeLib ✅ ❌ ❌ ❌ ⚠️ (System.Drawing) Apache 2.0 (Zdarma) ~4,5 milionů Tabulka 1: Hlavní srovnání 11 knihoven pro QR kódy v .NET napříč klíčovými kritérii výběru. Počty stažení jsou přibližné k začátku roku 2026. Zbytek tohoto článku podrobně rozebírá jednotlivé řádky, včetně kódu, kompromisů a upřímných hodnocení. Jak jsme hodnotili tyto knihovny? Každou knihovnu jsme hodnotili podle sedmi kritérií, vážených podle toho, jak často ovlivňují rozhodování o výběru v reálném světě: — Dokáže vytvářet QR kódy z textových řetězců, adres URL a strukturovaných dat (vCard, pověření Wi-Fi)? Generování QR kódů — Dokáže dekódovat QR kódy z obrázků, skenů nebo PDF? Jak si poradí s poškozenými nebo otočenými kódy? Čtení QR kódů — Vkládání loga, ovládání barev, styling tvarů modulů, konfigurace korekce chyb Přizpůsobení — Standardní QR, Micro QR, RMQR (obdélníkový Micro QR) Podpora formátů QR — Funguje bez problémů na Windows, Linux, macOS a uvnitř kontejnerů Docker bez hacků System.Drawing? Napříč platformami — Open-source vs. komerční, cena za vývojáře, slevy na sady Licencování a náklady — Kvalita referenčních API, dostupnost tutoriálů, velikost komunity, aktivní údržba Dokumentace a ekosystém Všechny příklady kódu cílí na a používají příkazy na nejvyšší úrovni. Tam, kde .NET 10 zavádí relevantní vylepšení, je zaznamenáme. .NET 8 (LTS) Kterou knihovnu pro QR kódy si vybrat? Rozhodovací rámec Přeskočte profily 11 knihoven níže, pokud již znáte svá omezení. Zde je rychlá cesta: → nebo . Oba mají licenci MIT. QRCoder má více vykreslovacích modulů a pomocných nástrojů pro payload; Net.Codecrete je lehčí a zcela se vyhýbá System.Drawing. „Potřebuji generovat QR kódy zdarma s nulovými závislostmi.“ QRCoder Net.Codecrete.QrCodeGenerator → (čtení s podporou ML, nejlepší přesnost u poškozených kódů), (zdarma, prověřené v praxi, nejširší podpora formátů) nebo (podniková sada, drahá). „Potřebuji generovat A ČÍST QR kódy.“ IronQR ZXing.Net Aspose.BarCode → , nebo . Všechny tři se vyhýbají závislosti System.Drawing, která narušuje nasazení napříč platformami. „Nasazuji na Linux/Docker a nemohu použít System.Drawing.“ IronQR SkiaSharp.QrCode Net.Codecrete.QrCodeGenerator → vede v benchmarkech pro generování. Pro výkon čtení je speciálně navržen pro vysokorychlostní skenování. „Výkon a paměťová náročnost jsou kritické.“ SkiaSharp.QrCode Dynamsoft Barcode Reader → Použijte to, co máte. Přidání knihovny pro QR kódy od jiného dodavatele, když vaše sada již jednu obsahuje, z hlediska licencování nebo údržby obvykle nedává smysl. „Již používám sadu Aspose/Syncfusion/Iron Software.“ → má explicitní průvodce integrací pro MAUI a Blazor. MVP společnosti Microsoft Jeff Fritz pomocí IronQR s Blazor, což je reálný příklad tohoto přesného vzoru. „Stavím mobilní aplikaci Blazor/MAUI s QR skenováním.“ IronQR vytvořil aplikaci s digitálními vizitkami založenou na QR kódech Porovnání 11 knihoven pro QR kódy v .NET 1. IronQR — Čtení a generování QR kódů s podporou ML napříč platformami IronQR je specializovaná knihovna pro QR kódy od společnosti Iron Software, oddělená od jejich širšího produktu IronBarcode. Její vynikající funkcí je model strojového učení (založený na ), který detekuje a čte QR kódy z nedokonalých obrázků, otočených, částečně zakrytých nebo vyfocených pod různými úhly, často jen několika řádky kódu. ONNX Je také schopna snadno vytvářet objekty QR kódů, s podporou stylizování QR kódů obrázky, přidávání vlastních barev a ukládání obrázků QR kódu do různých výstupních formátů. Generování: using IronQr; using IronSoftware.Drawing; // Vygenerovat stylizovaný QR kód s logem var options = new QrOptions(QrErrorCorrectionLevel.High, 20); QrCode qr = QrWriter.Write("https://example.com", options); var style = new QrStyleOptions { Dimensions = 300, Margins = 10, Color = new Color("#2E75B6"), Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("logo.png"), Width = 80, Height = 80 } }; AnyBitmap styledQr = qr.Save(style); styledQr.SaveAs("branded-qr.png"); Výstup generovaný IronQR Čtení: using IronQr; using IronSoftware.Drawing; var reader = new QrReader(); var input = new QrImageInput(AnyBitmap.FromFile("scanned-qr.jpg")); IEnumerable<QrResult> results = reader.Read(input); foreach (var result in results) Console.WriteLine($"Hodnota: {result.Value}"); Výstup čtení z IronQR Model ML odlišuje IronQR od všech ostatních knihoven na tomto seznamu. V našem testování úspěšně dekódoval QR kódy z fotografií konferenčních průkazů a šikmých snímků obrazovky smartphonů, kde ZXing.Net a základní čtečky obrazových zpracování nevrátily nic. Nevýhodou je velikost balíčku, model ONNX přidává na váze. Pokud nepotřebujete čtení, IronQR.Slim je dodáván bez modelu ML a je výrazně lehčí. Silné stránky: Čtení s podporou ML zvládá poškozené, otočené a částečně zakryté QR kódy a upřednostňuje přesnost Podporuje formáty QR Code, Micro QR a RMQR (obdélníkový Micro QR) Kompletní API pro styling: barvy, loga, zaoblené moduly, okraje Napříč platformami: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS Podpora asynchronního čtení (ReadAsync) pro serverové pracovní zátěže Ukládání do více formátů, jako jsou obrázky PNG, JPG, vícestránkové TIFF a další Uživatelsky přívětivé API usnadňuje použití Omezení: Pro nasazení je vyžadována komerční licence (749 $ a více na vývojáře) Plný balíček je těžší než open-source alternativy kvůli modelu ML je nižší než u zavedených open-source možností, novější produkt (spuštěn ~2023) Počet stažení z NuGet Projekty pouze pro generování nemusí potřebovat režii ML Projekty, které potřebují generování i čtení, zejména tam, kde jsou podmínky skenování nedokonalé (mobilní aplikace, skenování ve skladu, scénáře na konferencích/událostech). demonstruje IronQR zpracovávající generování QR kódů v reálném čase s Blazor a vlastním brandingem. Nejlepší pro: Případová studie Jeffa Fritze s vizitkami s QR kódy 2. — Nejoblíbenější open-source generátor QR kódů QRCoder Knihovna QRCoder je nejvíce stahovaným balíčkem pro QR kódy na NuGet, s . Původně vytvořená Raffaelem Herrmannem v roce 2013 a nyní , je to čistá implementace v C# zaměřená výhradně na QR kódů (nikoli čtení). více než 68 miliony stažení udržovaná Shane32 generování using QRCoder; // Vygenerovat QR kód a uložit jako bajty PNG using var qrGenerator = new QRCodeGenerator(); using var qrCodeData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.H); using var pngQrCode = new PngByteQRCode(qrCodeData); byte[] qrCodeImage = pngQrCode.GetGraphic(20); File.WriteAllBytes("qrcoder-output.png", qrCodeImage); Výstup z QRCoder QRCoder poskytuje více vykreslovacích modulů: PngByteQRCode (napříč platformami, bez závislosti na System.Drawing), QRCode (založený na System.Drawing, pouze Windows), SvgQRCode, AsciiQRCode a další. Zahrnuje také generátory payload pro strukturovaná data, jako jsou pověření Wi-Fi, vCard a záložky, což vám ušetří manuální formátování těchto řetězců. Silné stránky: Licence MIT, zcela zdarma pro komerční použití 68 milionů+ stažení z NuGet, masivní adopce komunitou a prověřená stabilita Více možností vykreslování, včetně PngByteQRCode, které se vyhýbá System.Drawing Vestavěné generátory payload (Wi-Fi, vCard, geolokace, události kalendáře) Podpora Micro QR kódů Nulové závislosti na cílech .NET Standard Omezení: , nelze číst ani dekódovat soubory obrázků QR kódů Pouze generování Některé vykreslovací moduly (např. QRCode) závisí na System.Drawing.Common, který je od .NET 6 pouze pro Windows Žádné vestavěné vkládání loga (obrázek byste museli kompozitně skládat sami) Žádné pokročilé stylingy (tvary modulů, přechody) Projekty, které potřebují pouze generování QR kódů, zejména pokud je rozpočet nulový. Pokud potřebujete generovat QR kódy Wi-Fi nebo vCard a vůbec nepotřebujete číst kódy, QRCoder je pro většinu .NET vývojářů pragmatickou výchozí volbou. Nejlepší pro: 3. — Švýcarský nůž mezi knihovnami pro čárové kódy ZXing.Net („Zebra Crossing“) je původní Java knihovny ZXing. Jedná se o univerzální knihovnu pro čárové kódy podporující přes 15 formátů, QR Code, Data Matrix, Aztec, PDF 417, UPC, EAN, Code 128 a další. Podpora QR kódu je podmnožinou jeho širších možností. ZXing.Net port pro .NET using ZXing; using ZXing.Common; using ZXing.QrCode; // Vygenerovat QR kód var writer = new BarcodeWriterPixelData { Format = BarcodeFormat.QR_CODE, Options = new QrCodeEncodingOptions { Height = 250, Width = 250, Margin = 1 } }; var pixelData = writer.Write("https://example.com"); // Čtení QR kódu vyžaduje balíček pro vazbu (např. ZXing.Net.Bindings.SkiaSharp) Výstup ZXing.Net ZXing.Net vyžaduje balíčky pro vazbu specifické pro platformu pro vykreslování a čtení. Základní balíček poskytuje logiku kódování/dekódování; přidáte ZXing.Net.Bindings.Windows.Compatibility, ZXing.Net.Bindings.SkiaSharp nebo ZXing.Net.Bindings.ImageSharp v závislosti na vaší cílové platformě. Tento modulární přístup je flexibilní, ale přidává složitost integrace. Silné stránky: Licence Apache 2.0, zdarma pro komerční použití Generování i čtení v jednom balíčku Podporuje 15+ formátů čárových kódů kromě QR kódů , prověřené v praxi, rozsáhlé znalosti komunity 32 milionů+ stažení z NuGet Dostupné vazby pro SkiaSharp, ImageSharp, OpenCV a další Omezení: Funkce specifické pro QR kódy jsou základní, bez vkládání loga, bez pokročilých stylů Přesnost čtení u poškozených/otočených QR kódů je střední ve srovnání s řešeními s podporou ML Balíčky pro vazbu přidávají složitost správy závislostí Design API ukazuje svůj věk, méně plynulý než moderní .NET knihovny Tempo aktivní údržby se zpomalilo (udržováno komunitou) Projekty, které potřebují podporu pro QR kódy i tradiční čárové kódy (maloobchod, logistika) a chtějí bezplatnou, prověřenou možnost. Pokud jsou vašimi prioritami funkce specifické pro QR kódy, jako je styling nebo čtení s podporou ML, spíše než široké pokrytí formátů čárových kódů, bude vám lépe sloužit specializovaná knihovna pro QR kódy. Nejlepší pro: 4. Net.Codecrete.QrCodeGenerator — Lehký a zaměřený na standardy Net.Codecrete.QrCodeGenerator je čistá, minimální knihovna pro generování QR kódů od Manuela Bleichenbachera. Jedná se o , zaměřený na správnost a soulad se standardy ( ). překlad Java generátoru QR kódů projektu Nayuki do .NET ISO/IEC 18004 using Net.Codecrete.QrCodeGenerator; var qr = QrCode.EncodeText("https://example.com", QrCode.Ecc.Medium); string svg = qr.ToSvgString(4); File.WriteAllText("output.svg", svg); Příklad výstupu s Net.Codecrete.QrCodeGenerator S je dobře adopovaná pro svou specializovanou povahu. Její hlavní výhodou je nulová závislost na System.Drawing — nativně generuje SVG, data pro XAML cesty, PNG a BMP. To z ní činí vynikající volbu pro .NET projekty napříč platformami a služby ASP.NET Core běžící v Dockeru. ~4,1 milionem stažení z NuGet Silné stránky: Licence MIT, zcela zdarma Nulová závislost na System.Drawing, skutečně napříč platformami Malá velikost, rychlé generování Vestavěné výstupy SVG a XAML (užitečné pro scénáře WPF, WinUI a webové) Správná implementace všech 40 verzí QR kódů a všech 4 úrovní korekce chyb Rozsáhlé příklady projektů (WinForms, WPF, ASP.NET Core, SkiaSharp, ImageSharp) Omezení: , žádná schopnost čtení QR kódů Pouze generování Žádné vkládání loga ani pokročilé stylingové funkce Omezené přizpůsobení ve srovnání s generátory payload QRCoder Méně obsahu komunity a tutoriálů ve srovnání s QRCoder nebo ZXing.Net Vývojáře, kteří potřebují malý, správný, napříč platformami fungující generátor QR kódů s výstupem SVG a bez zátěže System.Drawing. Pokud je vaše cílové nasazení Linux nebo Docker a potřebujete pouze generování, tato knihovna si zaslouží vážné zvážení. Nejlepší pro: 5. SkiaSharp.QrCode — Vysoce výkonné generování napříč platformami SkiaSharp.QrCode od je knihovna pro generování QR kódů zaměřená na výkon, postavená na SkiaSharp. Byla vytvořena speciálně, aby se vyhnula omezením GDI+ v System.Drawing a zároveň poskytovala výkon na úrovni nativního kódu prostřednictvím hardwarové akcelerace SkiaSharp. guitarrapc using SkiaSharp.QrCode.Image; // Jednořádkový příkaz: generování a uložení QRCodeImageBuilder.SavePng("https://example.com", "qrcode.png"); // Nebo s vlastními nastaveními var pngBytes = new QRCodeImageBuilder("https://example.com") .WithSize(512, 512) .WithErrorCorrection(ECCLevel.H) .ToByteArray(); Výstup jednoho příkazu SkiaSharp.QrCode Výsledky benchmarků z repozitáře projektu ukazují, že SkiaSharp.QrCode překonává QRCoder a další .NET knihovny pro QR kódy v rychlosti i al