Ufumbuzi kamili: Sisi ndio timu ya uhusiano wa watengenezaji katika Iron Software, kampuni inayomiliki IronQR, mojawapo ya maktaba katika kulinganisha huku. Hiyo ikisemwa, tunaamini tathmini za uaminifu huwahudumia kila mtu vizuri kuliko uuzaji wa spin. Tutaonyesha mbinu zetu, kukiri upendeleo wetu, na kuacha nambari izungumze yenyewe. Tuliendesha kila maktaba ya C# ya msimbo wa QR kupitia vigezo sawa vya tathmini: uzalishaji rahisi wa QR, usomaji wa QR kutoka kwa picha, kina cha ubinafsishaji, usaidizi wa jukwaa-tofauti, na gharama ya leseni. Hapa chini ni matokeo, kulinganisha kwa maktaba 11 za msimbo wa QR katika mfumo wa ikolojia wa .NET, iliyoundwa ili kukusaidia kuchagua inayofaa kwa mradi wako kwa jaribio la kwanza. Hivi ndivyo mistari mitatu ya uzalishaji wa QR inavyoonekana na katika Visual Studio, mojawapo ya maktaba tutakazofunika: IronQR using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("https://example.com"); AnyBitmap bitmap = qr.Save(); bitmap.SaveAs("myqr.png"); Matokeo ya Mfano wa Msimbo wa QR wa IronQR Urahisi huo ni meza ya meza. Swali halisi ni nini kinatokea unapohitaji msimbo wa QR ulioharibika kutoka kwa skana ya ghala, kuingiza nembo ya chapa, kulenga vyombo vya Linux, au kuchakata maelfu ya nambari katika kazi ya kundi. Hapo ndipo maktaba zinatofautiana, na hapo ndipo kulinganisha huku kunapata thamani yake. kusoma Muhtasari Mfupi: Jedwali Kuu la Kulinganisha Kabla hatujaenda kwa undani, hapa kuna picha kamili. Jedwali hili linachukua vipimo ambavyo ni muhimu zaidi wakati wa kuchagua maktaba ya QR kwa mradi wa .NET. Maktaba Tengeneza Soma Nembo/Mtindo QR Ndogo Jukwaa-Tofauti Leseni Vipakuliwa vya NuGet IronQR ✅ ✅ Imewezeshwa na ML ✅ Kamili ✅ + RMQR ✅ Win/Mac/Linux/Simu Biashara ($749+) ~56K QRCoder ✅ ❌ ✅ Wastani ✅ ⚠️ Sehemu (System.Drawing) MIT (Bure) ~68M ZXing.Net ✅ ✅ ❌ Kidogo ❌ ⚠️ Kupitia vifungashio Apache 2.0 (Bure) ~32M Net.Codecrete.QrCodeGenerator ✅ ❌ ❌ ❌ ✅ MIT (Bure) ~4.1M SkiaSharp.QrCode ✅ ❌ ✅ Maumbo maalum ❌ ✅ MIT (Bure) ~1.2M Aspose.BarCode ✅ ✅ ✅ ✅ ✅ Biashara ($999+) ~5.4M Syncfusion Barcode ✅ ❌ ✅ Wastani ❌ ✅ (udhibiti wa UI) Biashara (jamii ya bure) ~2M+ Spire.Barcode ✅ ✅ ✅ Ingizo la nembo ❌ ⚠️ (System.Drawing) Biashara ($599+) ~450K IronBarcode ✅ ✅ ✅ ✅ QR Ndogo ✅ Win/Mac/Linux Biashara ($749+) ~1.2M Dynamsoft Barcode Reader ❌ ✅ Utendaji wa juu Haiwezi kutumika ✅ ✅ Biashara ($1,249+/yr) ~250K BarcodeLib ✅ ❌ ❌ ❌ ⚠️ (System.Drawing) Apache 2.0 (Bure) ~4.5M Meza 1: Kulinganisha kuu kwa maktaba 11 za msimbo wa QR za .NET kulingana na vigezo muhimu vya uteuzi. Hesabu za upakuaji ni takriban kufikia mapema 2026. Sehemu iliyobaki ya makala haya inachambua kila mstari, ikiwa na msimbo, mapungufu, na tathmini za uaminifu. Tulitathmini Maktaba Hizi Jinsi Gani? Tuliathmini kila maktaba dhidi ya vigezo saba, vilivyopimwa na jinsi zinavyoendesha maamuzi halisi ya uteuzi: — Je, inaweza kuunda misimbo ya QR kutoka kwa kamba, URL, na data iliyopangwa (vCards, vitambulisho vya Wi-Fi)? Uzalishaji wa QR — Je, inaweza kusimbua misimbo ya QR kutoka kwa picha, skana, au PDF? Inashughulikaje na nambari zilizoharibika au zilizozungushwa? Usomaji wa QR — Kuunganisha nembo, udhibiti wa rangi, mtindo wa umbo la moduli, usanidi wa masahihisho ya makosa Ubinafsishaji — QR Sanifu, Micro QR, RMQR (QR Ndogo ya Mstatili) Usaidizi wa Muundo wa QR — Je, inafanya kazi kwa usafi kwenye Windows, Linux, macOS, na ndani ya vyombo vya Docker bila hacks za System.Drawing? Jukwaa-Tofauti — Chanzo huru dhidi ya biashara, bei kwa msanidi programu, punguzo za kifungu Leseni na Gharama — Ubora wa marejeleo ya API, upatikanaji wa mafunzo, ukubwa wa jumuiya, matengenezo yanayoendelea Nyaraka na mfumo wa ikolojia Mifano yote ya msimbo inalenga na hutumia taarifa za juu zaidi. Ambapo .NET 10 inaleta maboresho yanayohusika, tunayataja. .NET 8 (LTS) Ni Maktaba Gani ya QR Unayopaswa Kuchagua? Muundo wa Uamuzi Ruka maelezo 11 ya maktaba hapa chini ikiwa tayari unajua vizuizi vyako. Hapa kuna njia ya haraka: → au . Zote zina leseni ya MIT. QRCoder ina vidhibiti zaidi na wasaidizi wa malipo; Net.Codecrete ni nyepesi na inazuia System.Drawing kabisa. "Ninahitaji kutengeneza misimbo ya QR bila malipo bila utegemezi wowote." QRCoder Net.Codecrete.QrCodeGenerator → (usomaji unaowezeshwa na ML, usahihi bora kwenye nambari zilizoharibika), (bure, imethibitishwa, usaidizi mpana zaidi wa fomati), au (kifungu cha biashara, ghali). "Ninahitaji kutengeneza NA kusoma misimbo ya QR." IronQR ZXing.Net Aspose.BarCode → , , au . Zote tatu huepuka utegemezi wa System.Drawing ambao huvunja usafirishaji wa jukwaa-tofauti. "Ninapeleka kwa Linux/Docker nawezi kutumia System.Drawing." IronQR SkiaSharp.QrCode Net.Codecrete.QrCodeGenerator → inaongoza kwa vipimo vya msingi vya uzalishaji. Kwa utendaji wa usomaji, imetengenezwa kwa ajili ya skanning ya kiwango cha juu. "Utendaji na kiwango cha kumbukumbu ni muhimu." SkiaSharp.QrCode Dynamsoft Barcode Reader → Tumia kile ulichonacho. Kuongeza maktaba ya mtoa huduma mwingine ya QR wakati kifungu chako tayari kinajumuisha moja mara chache haifai kutoka kwa mtazamo wa leseni au matengenezo. "Tayari ninatumia kifungu cha Aspose/Syncfusion/Iron Software." → ina miongozo maalum ya ujumuishaji wa MAUI na Blazor. Microsoft MVP Jeff Fritz akitumia IronQR na Blazor, mfano halisi wa muundo huu. "Ninaunda programu ya rununu ya Blazor/MAUI na skanning ya QR." IronQR alijenga programu ya kadi ya biashara ya QR Maktaba 11 za Msimbo wa QR wa .NET Zilizolinganishwa 1. IronQR — Usomaji na Uzalishaji wa QR Unaowezeshwa na ML na Usaidizi wa Jukwaa-Tofauti IronQR ni maktaba maalum ya msimbo wa QR ya Iron Software, tofauti na bidhaa yao pana ya IronBarcode. Kipengele chake kinachojitokeza ni modeli ya akili bandia (msingi wa ) ambayo hugundua na kusoma misimbo ya QR kutoka kwa picha zisizo kamili, zilizozungushwa, zilizofichwa kwa sehemu, au zilizonaswa kwa pembe zisizo za kawaida, mara nyingi kwa mistari michache tu ya msimbo. ONNX Pia ina uwezo wa kuunda vitu vya msimbo wa QR kwa urahisi, ikiwa na usaidizi wa kuweka mitindo ya misimbo ya QR na picha, kuongeza rangi maalum, na kuhifadhi picha yako ya QR kwa miundo mbalimbali ya matokeo. Uzalishaji: using IronQr; using IronSoftware.Drawing; // Tengeneza msimbo wa QR wenye mtindo na nembo 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"); Matokeo ya Msimbo wa QR Uliotengenezwa na IronQR Usomaji: 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($"Thamani: {result.Value}"); Matokeo ya Usomaji wa IronQR Mfumo wa ML ndio unaotofautisha IronQR kutoka kwa maktaba zingine zote kwenye orodha hii. Katika majaribio yetu, ulifanikiwa kusimbua misimbo ya QR kutoka kwa picha za kadi za makongamano na picha za skrini za pembe za simu ambapo ZXing.Net na wasomaji wa picha za msingi hawakurudishi chochote. Pungufu ni saizi ya kifurushi, modeli ya ONNX huongeza uzito. Ikiwa humhitaji usomaji, IronQR.Slim huuzwa bila modeli ya ML na ni nyepesi sana. Nguvu: Usomaji unaowezeshwa na ML unashughulikia misimbo ya QR iliyoharibika, iliyozungushwa, na iliyofichwa kwa sehemu na unatoa kipaumbele usahihi Inasaidia miundo ya QR Code, Micro QR, na RMQR (Micro QR ya Mstatili) API kamili ya mitindo: rangi, nembo, moduli za pande zote, kingo Jukwaa-tofauti: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS Usaidizi wa usomaji wa Asynchronous (ReadAsync) kwa kazi za seva Hifadhi kwa miundo mingi kama vile picha ya PNG, JPG, TIFF yenye kurasa nyingi, na zaidi API inayomfaa mtumiaji hurahisisha matumizi Mapungufu: Leseni ya kibiashara inahitajika ($749+ kwa msanidi programu kwa ajili ya usafirishaji) Kifurushi kamili ni kizito kuliko njia mbadala za chanzo huru kutokana na modeli ya ML iko chini kuliko chaguo za chanzo huru zilizoiva (bidhaa mpya zaidi ilizinduliwa ~2023) Hesabu ya upakuaji wa NuGet Miradi ya uzalishaji tu huenda isihitaji mzigo wa ziada wa ML Miradi inayohitaji uzalishaji na usomaji, haswa ambapo hali ya skanning si kamili (programu za rununu, skanning ya ghala, matukio ya makongamano/matukio). kinaonyesha IronQR ikishughulikia uzalishaji wa QR wa wakati halisi na Blazor na chapa maalum. Inafaa kwa: Kisa cha Jeff Fritz QR business card 2. — Jenereta Maarufu Zaidi ya QR ya Chanzo Huru QRCoder Maktaba ya QRCoder ndio kifurushi cha msimbo wa QR kilichopakuliwa zaidi kwenye NuGet, ikiwa na . Awali iliundwa na Raffael Herrmann mnamo 2013 na sasa , ni utekelezaji safi wa C# unaozingatia tu wa msimbo wa QR (sio usomaji). zaidi ya milioni 68 za upakuaji inadumishwa na Shane32 uzalishaji using QRCoder; // Tengeneza msimbo wa QR na uhifadhi kama baiti za 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); Picha ya Matokeo ya QRCoder QRCoder hutoa vidhibiti vingi: PngByteQRCode (jukwaa-tofauti, hakuna utegemezi wa System.Drawing), QRCode (msingi wa System.Drawing, Windows pekee), SvgQRCode, AsciiQRCode, na zaidi. Pia inajumuisha jenereta za malipo kwa data iliyopangwa kama vile vitambulisho vya Wi-Fi, vCards, na alamisho, ambazo hukuokoa kutoka kwa kuunda kamba hizo mwenyewe. Nguvu: Leseni ya MIT, bure kabisa kwa matumizi ya kibiashara Milioni 68+ za upakuaji wa NuGet, upitishaji mkubwa wa jumuiya na utulivu uliothibitishwa Chaguo nyingi za kidhibiti ikiwa ni pamoja na PngByteQRCode ambayo inazuia System.Drawing Jenereta za malipo zilizojengwa ndani (Wi-Fi, vCard, eneo la kijiografia, hafla za kalenda) Usaidizi wa msimbo wa QR Ndogo Hakuna utegemezi wa malengo ya .NET Standard Mapungufu: , haiwezi kusoma au kusimbua faili za picha za msimbo wa QR Uzalishaji tu Vidhibiti vingine (kama QRCode) vinategemea System.Drawing.Common, ambayo ni ya Windows pekee tangu .NET 6 Hakuna kuunganishwa kwa nembo iliyojengwa ndani (ungeunganisha picha mwenyewe) Hakuna mitindo ya hali ya juu (maumbo ya moduli, gradienti) Miradi inayohitaji tu uzalishaji wa QR, haswa wakati bajeti ni sifuri. Ikiwa unahitaji kutengeneza misimbo ya QR ya Wi-Fi au vCards na huna haja ya kusoma nambari kabisa, QRCoder ndio chaguo la vitendo kwa watengenezaji wengi wa .NET. Inafaa kwa: 3. — Kisu cha Jeshi la Uswisi cha Maktaba za Barcode ZXing.Net ("Zebra Crossing") ni ya maktaba asili ya Java ZXing. Ni maktaba ya madhumuni ya jumla ya barcode inayounga mkono zaidi ya miundo 15 ikiwa ni pamoja na QR Code, Data Matrix, Aztec, PDF 417, UPC, EAN, Code 128, na zaidi. Usaidizi wa QR ni sehemu ndogo ya uwezo wake mpana zaidi. ZXing.Net bandari ya .NET using ZXing; using ZXing.Common; using ZXing.QrCode; // Tengeneza msimbo wa QR var writer = new BarcodeWriterPixelData { Format = BarcodeFormat.QR_CODE, Options = new QrCodeEncodingOptions { Height = 250, Width = 250, Margin = 1 } }; var pixelData = writer.Write("https://example.com"); // Kusoma msimbo wa QR kunahitaji kifurushi cha vifungashio (k.m., ZXing.Net.Bindings.SkiaSharp) Matokeo ya ZXing.Net ZXing.Net inahitaji vifungashio maalum vya jukwaa kwa ajili ya kudhibiti na kusoma. Kifurushi kikuu hutoa mantiki ya kuandika/kusimbua; unaongeza ZXing.Net.Bindings.Windows.Compatibility, ZXing.Net.Bindings.SkiaSharp, au ZXing.Net.Bindings.ImageSharp kulingana na jukwaa lako linalolengwa. Njia hii ya moduli ni rahisi lakini huongeza ugumu wa ujumuishaji. Nguvu: Leseni ya Apache 2.0, bure kwa matumizi ya kibiashara Uzalishaji na usomaji katika maktaba moja Inasaidia miundo zaidi ya 15 ya barcode zaidi ya misimbo ya QR , imethibitishwa, maarifa mengi ya jumuiya Milioni 32+ za upakuaji wa NuGet Vifungashio vinapatikana kwa SkiaSharp, ImageSharp, OpenCV, na zaidi Mapungufu: Vipengele maalum vya QR ni vya msingi, hakuna kuunganishwa kwa nembo, hakuna mitindo ya hali ya juu Usahihi wa usomaji kwenye misimbo ya QR iliyoharibika/iliyozungushwa ni wastani ikilinganishwa na suluhisho zinazowezeshwa na ML Vifungashio huongeza ugumu wa usimamizi wa utegemezi Muundo wa API unaonyesha umri wake, sio laini kama maktaba za kisasa za .NET Kiwango cha matengenezo kinachoendelea kimepungua (kinadumishwa na jumuiya) Miradi inayohitaji usaidizi wa misimbo ya QR na barcode za jadi (reja reja, usafirishaji) na wanataka chaguo la bure, lililothibitishwa. Ikiwa kipaumbele chako ni vipengele maalum vya QR kama vile mitindo au usomaji unaowezeshwa na ML badala ya huduma kamili ya miundo ya barcode, maktaba maalum ya QR itakuhudumia vizuri zaidi. Inafaa kwa: 4. Net.Codecrete.QrCodeGenerator — Nyongezi na Inayolenga Viwango Net.Codecrete.QrCodeGenerator ni maktaba safi, ndogo ya uzalishaji wa msimbo wa QR na Manuel Bleichenbacher. Ni , inayolenga usahihi na utiifu wa viwango ( ). tafsiri ya .NET ya jenereta ya msimbo wa QR ya Java ya Project Nayuki 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); Mfano wa Matokeo na Net.Codecrete.QrCodeGenerator Na , imeenea kwa maktaba iliyoelekezwa. Ubora wake unaojitokeza ni hakuna utegemezi wa System.Drawing — inatoa SVG, data ya njia ya XAML, PNG, na BMP kiasili. Hii inafanya kuwa chaguo bora kwa miradi ya .NET ya jukwaa-tofauti na huduma za ASP.NET Core zinazoendeshwa katika Docker. ~milioni 4.1 za upakuaji wa NuGet Nguvu: Leseni ya MIT, bure kabisa Hakuna utegemezi wa System.Drawing, jukwaa-tofauti kweli Alama ndogo, uzalishaji wa haraka Matokeo ya SVG na XAML yamejengwa ndani (muhimu kwa matukio ya WPF, WinUI, na wavuti) Utekelezaji sahihi wa matoleo yote 40 ya QR na viwango vyote 4 vya kusahihisha makosa Miradi mingi ya mifano (WinForms, WPF, ASP.NET Core, SkiaSharp, ImageSharp) Mapungufu: , hakuna uwezo wa kusoma QR Uzalishaji tu Hakuna kuunganishwa kwa nembo au vipengele vya hali ya juu vya mitindo Ubinafsishaji mdogo ikilinganishwa na jenereta za malipo za QRCoder Yaliyomo kidogo ya jumuiya na mafunzo ikilinganishwa na QRCoder au ZXing.Net Watengenezaji wanaohitaji jenereta ndogo, sahihi, ya jukwaa-tofauti ya QR yenye matokeo ya SVG na hakuna mzigo wa System.Drawing. Ikiwa lengo lako la usafirishaji ni Linux au Docker na unahitaji tu uzalishaji, maktaba hii inastahili kuzingatiwa sana. Inafaa kwa: 5. SkiaSharp.QrCode — Uzalishaji wa Utendaji wa Juu wa Jukwaa-Tofauti SkiaSharp.QrCode na