სრული გამჟღავნება: ჩვენ ვართ Iron Software-ის დეველოპერების გუნდი, კომპანია IronQR-ის უკან, რომელიც ამ შედარებაში ერთ-ერთი ბიბლიოთეკაა. ამის მიუხედავად, გვჯერა, რომ პატიოსანი შეფასებები ყველას უკეთესად ემსახურება, ვიდრე მარკეტინგული ტრიუკები. ჩვენ ვაჩვენებთ ჩვენს მეთოდოლოგიას, ვაღიარებთ ჩვენს მიკერძოებას და მივცემთ კოდს თავად ილაპარაკოს. ჩვენ თითოეული C# QR კოდის ბიბლიოთეკა გავატარეთ იდენტურ შეფასების კრიტერიუმებში: მარტივი QR გენერაცია, QR კითხვა სურათებიდან, პერსონალიზაციის სიღრმე, პლატფორმების მხარდაჭერა და ლიცენზირების ღირებულება. ქვემოთ მოცემულია შედეგი, 11 ღირსშესანიშნავი QR კოდის ბიბლიოთეკის შედარება .NET ეკოსისტემაში, შექმნილი იმისთვის, რომ დაგეხმაროთ სწორი აირჩიოთ თქვენი პროექტისთვის პირველივე ცდაზე. აი, როგორ გამოიყურება QR გენერაციის სამი სტრიქონი -ით Visual Studio-ში, ერთ-ერთი ბიბლიოთეკა, რომელსაც ჩვენ განვიხილავთ: IronQR using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("https://example.com"); AnyBitmap bitmap = qr.Save(); bitmap.SaveAs("myqr.png"); IronQR QR კოდის მაგალითი ეს სიმარტივე ძირითადი მოთხოვნაა. ნამდვილი კითხვა არის ის, თუ რა ხდება, როდესაც თქვენ გჭირდებათ დაზიანებული QR კოდის საწყობის სკანერიდან, ბრენდირებული ლოგოს ჩასმა, Linux კონტეინერების სამიზნე, ან ათასობით კოდის დამუშავება ბატჩის სამუშაოში. აქ ბიბლიოთეკები იყოფა და აქ ამ შედარებას თავისი ფასი აქვს. წაკითხვა TL;DR: ოსტატური შედარების ცხრილი .NET პროექტისთვის QR ბიბლიოთეკის არჩევისას, სანამ დეტალებში ჩავძირავდებით, აი სრული სურათი. ეს ცხრილი აფიქსირებს ყველაზე მნიშვნელოვან ასპექტებს. ბიბლიოთეკა გენერაცია კითხვა ლოგო/სტილი მიკრო QR Cross-Platform ლიცენზია NuGet ჩამოტვირთვები IronQR ✅ ✅ ML-powered ✅ სრული ✅ + RMQR ✅ Win/Mac/Linux/Mobile კომერციული ($749+) ~56K QRCoder ✅ ❌ ✅ საშუალო ✅ ⚠️ ნაწილობრივი (System.Drawing) MIT (უფასო) ~68M ZXing.Net ✅ ✅ ❌ მინიმალური ❌ ⚠️ ბმულების საშუალებით Apache 2.0 (უფასო) ~32M Net.Codecrete.QrCodeGenerator ✅ ❌ ❌ ❌ ✅ MIT (უფასო) ~4.1M SkiaSharp.QrCode ✅ ❌ ✅ მორგებული ფორმები ❌ ✅ MIT (უფასო) ~1.2M Aspose.BarCode ✅ ✅ ✅ ✅ ✅ კომერციული ($999+) ~5.4M Syncfusion Barcode ✅ ❌ ✅ საშუალო ❌ ✅ (UI კონტროლი) კომერციული (უფასო საზოგადოება) ~2M+ Spire.Barcode ✅ ✅ ✅ ლოგოს ჩასმა ❌ ⚠️ (System.Drawing) კომერციული ($599+) ~450K IronBarcode ✅ ✅ ✅ ✅ მიკრო QR ✅ Win/Mac/Linux კომერციული ($749+) ~1.2M Dynamsoft Barcode Reader ❌ ✅ მაღალი წარმადობა N/A ✅ ✅ კომერციული ($1,249+/წელი) ~250K BarcodeLib ✅ ❌ ❌ ❌ ⚠️ (System.Drawing) Apache 2.0 (უფასო) ~4.5M ცხრილი 1: 11 .NET QR კოდის ბიბლიოთეკის ძირითადი შედარება ძირითადი შერჩევის კრიტერიუმების მიხედვით. ჩამოტვირთვის რაოდენობა სავარაუდოა 2026 წლის დასაწყისისთვის. დანარჩენი სტატია განიხილავს თითოეულ სტრიქონს, კოდთან, კომპრომისებთან და პატიოსან შეფასებებთან ერთად. როგორ შევაფასეთ ეს ბიბლიოთეკები? ჩვენ შევაფასეთ თითოეული ბიბლიოთეკა შვიდი კრიტერიუმის მიხედვით, რომელთა წონა დამოკიდებულია იმაზე, თუ რამდენად ხშირად იწვევს ისინი რეალურ შერჩევის გადაწყვეტილებებს: — შეუძლია თუ არა სტრიქონებიდან, URL-ებიდან და სტრუქტურირებული მონაცემებიდან (vCards, Wi-Fi პაროლები) QR კოდების შექმნა? QR გენერაცია — შეუძლია თუ არა სურათებიდან, სკანებიდან ან PDF-ებიდან QR კოდების დეკოდირება? როგორ უმკლავდება დაზიანებულ ან მობრუნებულ კოდებს? QR კითხვა — ლოგოს ჩასმა, ფერის კონტროლი, მოდულის ფორმის სტილი, შეცდომის გამოსწორების კონფიგურაცია პერსონალიზაცია — სტანდარტული QR, მიკრო QR, RMQR (მართკუთხა მიკრო QR) QR ფორმატის მხარდაჭერა — მუშაობს თუ არა ის სუფთად Windows-ზე, Linux-ზე, macOS-ზე და Docker კონტეინერებში System.Drawing-ის ჰაკების გარეშე? Cross-Platform — ღია კოდი კომერციულთან შედარებით, თითო დეველოპერზე ფასი, პაკეტის ფასდაკლებები ლიცენზირება და ღირებულება — API რეფერენსის ხარისხი, ტუტორიალების ხელმისაწვდომობა, საზოგადოების ზომა, აქტიური შენარჩუნება დოკუმენტაცია და ეკოსისტემა ყველა კოდის მაგალითი მიზნად ისახავს და იყენებს ტოპ-ლეველის განცხადებებს. სადაც .NET 10 შემოაქვს შესაბამისი გაუმჯობესებები, ჩვენ აღვნიშნავთ მათ. .NET 8 (LTS) რომელი QR ბიბლიოთეკა უნდა აირჩიოთ? გადაწყვეტილების ჩარჩო გადახტეთ 11 ბიბლიოთეკის პროფილს ქვემოთ, თუ თქვენ უკვე იცით თქვენი შეზღუდვები. აი სწრაფი გზა: → ან . ორივე MIT-ლიცენზირებულია. QRCoder-ს აქვს მეტი რენდერი და დამხმარე ინსტრუმენტები; Net.Codecrete უფრო მსუბუქია და საერთოდ არ იყენებს System.Drawing-ს. "უფასოდ მჭირდება QR კოდების გენერაცია ნულოვანი დამოკიდებულებით." QRCoder Net.Codecrete.QrCodeGenerator → (ML-ით კითხვა, საუკეთესო სიზუსტე დაზიანებულ კოდებზე), (უფასო, გამოცდილი, ფართო ფორმატის მხარდაჭერა) ან (საწარმოს პაკეტი, ძვირი). "მე მჭირდება QR კოდების გენერირებაც და კითხვაც." IronQR ZXing.Net Aspose.BarCode → , ან . სამივე არ იყენებს System.Drawing-ის დამოკიდებულებას, რომელიც აფუჭებს პლატფორმებს შორის დემპლამენტებს. "მე ვდგამ Linux/Docker-ზე და ვერ ვიყენებ System.Drawing-ს." IronQR SkiaSharp.QrCode Net.Codecrete.QrCodeGenerator → ლიდერობს ნედლეული გენერაციის ბენჩმარკებში. წაკითხვის წარმადობისთვის, მიზანმიმართულია მაღალი გამტარობის სკანირებისთვის. "წარმადობა და მეხსიერების მოხმარება კრიტიკულია." SkiaSharp.QrCode Dynamsoft Barcode Reader → გამოიყენეთ ის, რაც გაქვთ. სხვა მომწოდებლის QR ბიბლიოთეკის დამატება, როდესაც თქვენი პაკეტი უკვე შეიცავს ერთს, იშვიათად აქვს აზრი ლიცენზირების ან შენარჩუნების თვალსაზრისით. "მე უკვე ვიყენებ Aspose/Syncfusion/Iron Software პაკეტს." → -ს აქვს MAUI და Blazor ინტეგრაციის გზამკვლევები. Microsoft MVP Jeff Fritz-მა IronQR-ის გამოყენებით Blazor-თან ერთად, რეალური სამყაროს მაგალითი ამ ზუსტი სქემისთვის. "მე ვაშენებ Blazor/MAUI მობილურ აპს QR სკანირებით." IronQR ააშენა QR-ზე დაფუძნებული ციფრული სავიზიტო ბარათის აპლიკაცია შედარებულია 11 .NET QR კოდის ბიბლიოთეკა 1. IronQR — ML-Powered QR კითხვა და გენერაცია Cross Platform მხარდაჭერით IronQR არის Iron Software-ის სპეციალიზებული QR კოდის ბიბლიოთეკა, რომელიც განცალკევებულია მათი უფრო ფართო IronBarcode პროდუქტისგან. მისი გამორჩეული თვისებაა მანქანური სწავლების მოდელი ( -ზე დაფუძნებული), რომელიც ამოიცნობს და კითხულობს QR კოდებს არასრულყოფილი სურათებიდან, მობრუნებული, ნაწილობრივ დაფარული, ან უცნაურ კუთხით გადაღებული, ხშირად მხოლოდ რამდენიმე სტრიქონი კოდით. ONNX ის ასევე აქტიურად ქმნის QR კოდის ობიექტებს, სტილის QR კოდების სურათებით, მორგებული ფერების დამატების, და თქვენი QR სურათის სხვადასხვა ფორმატებში შენახვის მხარდაჭერით. გენერაცია: using IronQr; using IronSoftware.Drawing; // სტილიზებული QR კოდის გენერაცია ლოგოთი 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"); IronQR გენერირებული QR გამოყვანა კითხვა: 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($"Value: {result.Value}"); IronQR წაკითხული გამოყვანა ML მოდელი არის ის, რაც განასხვავებს IronQR-ს ამ სიიდან ყველა სხვა ბიბლიოთეკისგან. ჩვენს ტესტირებაში, მან წარმატებით გაშიფრა QR კოდები კონფერენციის სამკერდე ფოტოებიდან და კუთხით გადაღებული სმარტფონის ეკრანის ანაბეჭდებიდან, სადაც ZXing.Net და ძირითადი გამოსახულების დამმუშავებლები ვერაფერს აბრუნებდნენ. კომპრომისი არის პაკეტის ზომა, ONNX მოდელი ამატებს წონას. თუ კითხვა არ გჭირდებათ, IronQR.Slim იგზავნება ML მოდელის გარეშე და გაცილებით მსუბუქია. უპირატესობები: ML-powered კითხვა უმკლავდება დაზიანებულ, მობრუნებულ და ნაწილობრივ დაფარულ QR კოდებს და პრიორიტეტს ანიჭებს სიზუსტეს მხარდაჭერა QR Code, Micro QR და RMQR (Rectangular Micro QR) ფორმატებისთვის სრული სტილის API: ფერები, ლოგოები, დამრგვალებული მოდულები, კიდეები Cross-platform: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS ასინქრონული კითხვის მხარდაჭერა (ReadAsync) სერვერის სამუშაო დატვირთვებისთვის შენახვა მრავალ ფორმატში, როგორიცაა PNG სურათი, JPG, მრავალგვერდიანი TIFF და სხვა მომხმარებლის მეგობრული API აადვილებს გამოყენებას შეზღუდვები: საჭიროა კომერციული ლიცენზია (749$+ დეველოპერზე დემპლამენტისთვის) სრული პაკეტი უფრო მძიმეა, ვიდრე ღია კოდის ალტერნატივები ML მოდელის გამო უფრო დაბალია, ვიდრე მოწიფებული ღია კოდის ვარიანტები, ახალი პროდუქტი (გამოვიდა ~2023 წ.) NuGet ჩამოტვირთვის რაოდენობა მხოლოდ გენერაციის პროექტებს არ სჭირდებათ ML დამატებითი დატვირთვა პროექტებისთვის, რომლებსაც სჭირდებათ როგორც გენერაცია, ასევე კითხვა, განსაკუთრებით მაშინ, როდესაც სკანირების პირობები არასრულყოფილია (მობილური აპები, საწყობის სკანირება, კონფერენციის/ღონისძიების სცენარები). აჩვენებს IronQR-ის მიერ Blazor-თან რეალურ დროში QR გენერაციის და მორგებული ბრენდინგის დამუშავებას. საუკეთესოა: Jeff Fritz QR სავიზიტო ბარათის შემთხვევის შესწავლა 2. — ყველაზე პოპულარული ღია კოდის QR გენერატორი QRCoder QRCoder ბიბლიოთეკა არის NuGet-ზე ყველაზე მეტად გადმოწერილი QR კოდის პაკეტი, . თავდაპირველად შექმნილი Raffael Herrmann-ის მიერ 2013 წელს და ახლა , ეს არის სუფთა C# იმპლემენტაცია, რომელიც ფოკუსირებულია ექსკლუზიურად QR კოდის (არა კითხვაზე). 68 მილიონზე მეტი ჩამოტვირთვით შენარჩუნებული Shane32-ის მიერ გენერაციაზე using QRCoder; // QR კოდის გენერაცია და შენახვა 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); QRCoder გამოყვანის სურათი QRCoder გთავაზობთ მრავალ რენდერს: PngByteQRCode (cross-platform, System.Drawing დამოკიდებულების გარეშე), QRCode (System.Drawing-ზე დაფუძნებული, მხოლოდ Windows), SvgQRCode, AsciiQRCode და სხვა. ის ასევე მოიცავს დამხმარე ინსტრუმენტებს სტრუქტურირებული მონაცემებისთვის, როგორიცაა Wi-Fi პაროლები, vCards და სანიშნეები, რაც გიხსნით ამ სტრიქონების ხელით ფორმატირებას. უპირატესობები: MIT ლიცენზია, სრულიად უფასო კომერციული გამოყენებისთვის 68M+ NuGet ჩამოტვირთვა, მასიური საზოგადოების მიღება და დადასტურებული სტაბილურობა მრავალი რენდერის ვარიანტი, მათ შორის PngByteQRCode, რომელიც არ იყენებს System.Drawing-ს ჩაშენებული დამხმარე ინსტრუმენტები (Wi-Fi, vCard, გეოლოკაცია, კალენდარი) მიკრო QR კოდის მხარდაჭერა .NET Standard სამიზნეებზე ნულოვანი დამოკიდებულება შეზღუდვები: , არ შეუძლია QR სურათის ფაილების წაკითხვა ან გაშიფვრა მხოლოდ გენერაცია ზოგიერთი რენდერი (როგორიცაა QRCode) დამოკიდებულია System.Drawing.Common-ზე, რომელიც არის მხოლოდ Windows-ზე .NET 6-დან არ არის ჩაშენებული ლოგოს ჩასმა (თქვენ თვითონ შეადგინეთ სურათი) არ არის მოწინავე სტილიზაცია (მოდულის ფორმები, გრადიენტები) პროექტებისთვის, რომლებსაც სჭირდებათ მხოლოდ QR გენერაცია, განსაკუთრებით მაშინ, როდესაც ბიუჯეტი ნულია. თუ გჭირდებათ Wi-Fi QR კოდების ან vCards-ის გენერაცია და საერთოდ არ გჭირდებათ კოდების წაკითხვა, QRCoder არის პრაგმატული ნაგულისხმევი არჩევანი უმეტესი .NET დეველოპერებისთვის. საუკეთესოა: 3. — შტრიხკოდების ბიბლიოთეკის შვეიცარიული არმიის დანა ZXing.Net ("Zebra Crossing") არის ორიგინალური Java ZXing ბიბლიოთეკიდან. ეს არის ზოგადი დანიშნულების შტრიხკოდების ბიბლიოთეკა, რომელიც მხარდაჭერს 15-ზე მეტ ფორმატს, QR Code, Data Matrix, Aztec, PDF 417, UPC, EAN, Code 128 და სხვა. QR მხარდაჭერა მისი უფრო ფართო შესაძლებლობების ქვეჯგუფია. ZXing.Net .NET პორტი using ZXing; using ZXing.Common; using ZXing.QrCode; // 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"); // QR კოდის წაკითხვა მოითხოვს ბმულების პაკეტს (მაგ., ZXing.Net.Bindings.SkiaSharp) ZXing.Net გამოყვანა ZXing.Net მოითხოვს პლატფორმისთვის სპეციფიკურ ბმულების პაკეტებს რენდერინგისა და კითხვისთვის. ძირითადი პაკეტი უზრუნველყოფს კოდირების/გაშიფვრის ლოგიკას; თქვენ ამატებთ ZXing.Net.Bindings.Windows.Compatibility, ZXing.Net.Bindings.SkiaSharp, ან ZXing.Net.Bindings.ImageSharp თქვენი სამიზნე პლატფორმის მიხედვით. ეს მოდულური მიდგომა მოქნილია, მაგრამ ამატებს ინტეგრაციის სირთულეს. უპირატესობები: Apache 2.0 ლიცენზია, უფასო კომერციული გამოყენებისთვის გენერაცია და კითხვა ერთ ბიბლიოთეკაში მხარდაჭერა 15+ შტრიხკოდის ფორმატებისთვის QR კოდების გარდა , გამოცდილი, ფართო საზოგადოების ცოდნა 32M+ NuGet ჩამოტვირთვა ხელმისაწვდომია ბმულები SkiaSharp, ImageSharp, OpenCV და სხვა შეზღუდვები: QR-სპეციფიკური ფუნქციები ძირითადია, არ არის ლოგოს ჩასმა, არ არის მოწინავე სტილიზაცია დაზიანებული/მობრუნებული QR კოდების კითხვის სიზუსტე საშუალოა ML-powered გადაწყვეტილებებთან შედარებით ბმულების პაკეტები ამატებს დამოკიდებულების მართვის სირთულეს API დიზაინი აჩვენებს თავის ასაკს, ნაკლებად გლუვი, ვიდრე თანამედროვე .NET ბიბლიოთეკები აქტიური შენარჩუნების ტემპი შენელდა (საზოგადოების მიერ შენარჩუნებული) პროექტებისთვის, რომლებსაც სჭირდებათ როგორც QR კოდი, ასევე ტრადიციული შტრიხკოდი (საცალო ვაჭრობა, ლოჯისტიკა) და სურთ უფასო, დადასტურებული ვარიანტი. თუ თქვენი პრიორიტეტია QR-სპეციფიკური ფუნქციები, როგორიცაა სტილიზაცია ან ML-powered კითხვა, ფართო შტრიხკოდის ფორმატის დაფარვის ნაცვლად, სპეციალიზებული QR ბიბლიოთეკა უკეთ მოგემსახურებათ. საუკეთესოა: 4. Net.Codecrete.QrCodeGenerator — მსუბუქი და სტანდარტებზე ორიენტირებული Net.Codecrete.QrCodeGenerator არის სუფთა, მინიმალური QR კოდის გენერაციის ბიბლიოთეკა Manuel Bleichenbacher-ის მიერ. ეს არის .NET თარგმანი, რომელიც ფოკუსირებულია სისწ Project Nayuki-ის Java QR კოდის გენერატორის