შეტყობინება: ჩვენ ვართ 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: სამაგისტრო შედარების ცხრილი სანამ სიღრმისეულად ჩავუღრმავდებით, აი სრული სურათი. ეს ცხრილი ასახავს იმ განზომილებებს, რომლებიც ყველაზე მნიშვნელოვანია QR ბიბლიოთეკის არჩევისას .NET პროექტისთვის. ბიბლიოთეკა გენერაცია წაკითხვა ლოგო/სტილიზაცია მიკრო QR პლატფორმებს შორის ლიცენზია NuGet გადმოტვირთვები IronQR ✅ ✅ ML-ზე დაფუძნებული ✅ სრული ✅ + 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: .NET QR კოდის 11 ბიბლიოთეკის ძირითადი შედარება ძირითადი შერჩევის კრიტერიუმების მიხედვით. გადმოტვირთვის რაოდენობები სავარაუდოა 2026 წლის დასაწყისისთვის. ამ სტატიის დანარჩენი ნაწილი აანალიზებს თითოეულ სტრიქონს, კოდთან, კომპრომისებთან და გულწრფელ შეფასებებთან ერთად. როგორ შევაფასეთ ეს ბიბლიოთეკები? ჩვენ თითოეული ბიბლიოთეკა შევაფასეთ შვიდი კრიტერიუმით, რომელთა წონაც განისაზღვრა იმის მიხედვით, თუ რამდენად ხშირად იწვევს ეს კრიტერიუმები რეალურ შერჩევის გადაწყვეტილებებს: — შეუძლია თუ არა მას QR კოდების შექმნა სტრიქონებიდან, URL-ებიდან და სტრუქტურირებული მონაცემებიდან (vCards, Wi-Fi სერთიფიკატები)? QR გენერაცია — შეუძლია თუ არა მას QR კოდების დეკოდირება სურათებიდან, სკანირებიდან ან PDF-ებიდან? როგორ უმკლავდება დაზიანებულ ან მობრუნებულ კოდებს? QR წაკითხვა — ლოგოს ჩასმა, ფერების კონტროლი, მოდულის ფორმის სტილიზაცია, შეცდომის გამოსწორების კონფიგურაცია მორგება — სტანდარტული QR, მიკრო QR, RMQR (მართკუთხა მიკრო QR) QR ფორმატის მხარდაჭერა — მუშაობს თუ არა ის სუფთად Windows-ზე, Linux-ზე, macOS-ზე და Docker კონტეინერებში System.Drawing-ის ხრიკების გარეშე? პლატფორმებს შორის — ღია კოდი კომერციულის წინააღმდეგ, ფასი თითო დეველოპერზე, შეფუთული ფასდაკლებები ლიცენზირება და ღირებულება — 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-მ ჯეფ ფრიცმა IronQR-ის გამოყენებით Blazor-თან ერთად, რეალური მაგალითი ამ ზუსტი სქემის. "მე ვქმნი Blazor/MAUI მობილურ აპლიკაციას QR სკანირებით." IronQR ააგო QR-ზე დაფუძნებული ციფრული სავიზიტო ბარათის აპლიკაცია შედარებულია 11 .NET QR კოდის ბიბლიოთეკა 1. IronQR — ML-ზე დაფუძნებული QR კითხვა და გენერაცია პლატფორმებს შორის მხარდაჭერით 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-ზე დაფუძნებული კითხვა უმკლავდება დაზიანებულ, მობრუნებულ და ნაწილობრივ დაფარულ QR კოდებს და პრიორიტეტს ანიჭებს სიზუსტეს მხარს უჭერს QR Code, Micro QR და RMQR (Rectangular Micro QR) ფორმატებს სრული სტილიზაციის API: ფერები, ლოგოები, დამრგვალებული მოდულები, მინდვრები პლატფორმებს შორის: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS ასინქრონული კითხვის მხარდაჭერა (ReadAsync) სერვერის სამუშაოებისთვის შენახვა მრავალ ფორმატში, როგორიცაა PNG სურათი, JPG, მრავალგვერდიანი TIFF და სხვა მომხმარებლის მეგობრული API ამარტივებს გამოყენებას შეზღუდვები: კომერციული ლიცენზიაა საჭირო (749$+ თითო დეველოპერზე დაყენებისთვის) სრული პაკეტი უფრო მძიმეა, ვიდრე ღია კოდის ალტერნატივები ML მოდელის გამო უფრო დაბალია, ვიდრე მწიფე ღია კოდის ვარიანტები, უფრო ახალი პროდუქტი (გამოშვებულია ~2023 წელს) NuGet გადმოტვირთვის რაოდენობა მხოლოდ გენერაციის პროექტებს შეიძლება არ სჭირდებოდეს ML-ის ჭარბი დატვირთვა პროექტებისთვის, რომლებსაც სჭირდებათ როგორც გენერაცია, ასევე კითხვა, განსაკუთრებით მაშინ, როდესაც სკანირების პირობები არასრულყოფილია (მობილური აპლიკაციები, საწყობის სკანირება, კონფერენციის/ღონისძიების სცენარები). ასახავს IronQR-ის რეალურ დროში QR გენერაციას Blazor-თან და მორგებულ ბრენდინგთან ერთად. საუკეთესოა: ჯეფ ფრიცის 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 (პლატფორმებს შორის, 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-ზე დაფუძნებულ გადაწყვეტილებებთან შედარებით ბმული პაკეტები ამატებს დამოკიდებულების მართვის სირთულეს API დიზაინი ასახავს მის ასაკს, ნაკლებად თანამედროვე, ვიდრე თანამედროვე .NET ბიბლიოთეკები აქტიური მხარდაჭერის ტემპი შენელდა (საზოგადოების მიერ მხარდაჭერილი) პროექტებისთვის, რომლებსაც ესაჭიროებათ როგორც QR კოდების, ასევე ტრადიციული შტრიხკოდების მხარდაჭერა (საცალო ვაჭრობა, ლოგისტიკა) და სურთ უფასო, დადასტურებული ვარიანტი. თუ თქვენი პრიორიტეტია QR-ის სპეციფიკური ფუნქციები, როგორიცაა სტილიზაცია ან ML-ზე დაფუძნებული კითხვა, ვიდრე შტრიხკოდების ფართო ფორმატის დაფარვა, სპეციალიზებული QR ბი საუკეთესოა: