Pemberitahuan lengkap: Kami adalah tim relasi pengembang di Iron Software, perusahaan di balik IronQR, salah satu pustaka dalam perbandingan ini. Itu sebabnya, kami percaya evaluasi yang jujur melayani semua orang lebih baik daripada pemasaran. Kami akan menunjukkan metodologi kami, mengakui bias kami, dan membiarkan kode berbicara sendiri. Kami menjalankan setiap pustaka kode QR C# melalui kriteria evaluasi yang identik: pembuatan QR sederhana, pembacaan QR dari gambar, kedalaman kustomisasi, dukungan lintas platform, dan biaya lisensi. Di bawah ini adalah hasilnya, perbandingan 11 pustaka kode QR yang patut diperhatikan dalam ekosistem .NET, yang dirancang untuk membantu Anda memilih yang tepat untuk proyek Anda pada percobaan pertama. Berikut adalah tampilan tiga baris pembuatan kode QR dengan di Visual Studio, salah satu pustaka yang akan kami bahas: IronQR using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("https://example.com"); AnyBitmap bitmap = qr.Save(); bitmap.SaveAs("myqr.png"); Keluaran Kode QR Contoh IronQR Kesederhanaan itu adalah standar. Pertanyaan sebenarnya adalah apa yang terjadi ketika Anda perlu kode QR yang rusak dari pemindai gudang, menyematkan logo bermerek, menargetkan kontainer Linux, atau memproses ribuan kode dalam pekerjaan batch. Di situlah pustaka berbeda, dan di situlah perbandingan ini mendapatkan nilainya. membaca Ringkasan Singkat: Tabel Perbandingan Utama Sebelum kita mendalami, berikut adalah gambaran lengkapnya. Tabel ini menangkap dimensi yang paling penting saat memilih pustaka QR untuk proyek .NET. Pustaka Buat Baca Logo/Gaya Mikro QR Lintas Platform Lisensi Unduhan NuGet IronQR ✅ ✅ Berbasis ML ✅ Penuh ✅ + RMQR ✅ Win/Mac/Linux/Seluler Komersial (Rp11.000.000+) ~56rb QRCoder ✅ ❌ ✅ Sedang ✅ ⚠️ Parsial (System.Drawing) MIT (Gratis) ~68jt ZXing.Net ✅ ✅ ❌ Minimal ❌ ⚠️ Melalui pengikatan Apache 2.0 (Gratis) ~32jt Net.Codecrete.QrCodeGenerator ✅ ❌ ❌ ❌ ✅ MIT (Gratis) ~4,1jt SkiaSharp.QrCode ✅ ❌ ✅ Bentuk kustom ❌ ✅ MIT (Gratis) ~1,2jt Aspose.BarCode ✅ ✅ ✅ ✅ ✅ Komersial (Rp15.000.000+) ~5,4jt Syncfusion Barcode ✅ ❌ ✅ Sedang ❌ ✅ (kontrol UI) Komersial (komunitas gratis) ~2jt+ Spire.Barcode ✅ ✅ ✅ Sematkan logo ❌ ⚠️ (System.Drawing) Komersial (Rp9.000.000+) ~450rb IronBarcode ✅ ✅ ✅ ✅ QR mikro ✅ Win/Mac/Linux Komersial (Rp11.000.000+) ~1,2jt Dynamsoft Barcode Reader ❌ ✅ Performa Tinggi N/A ✅ ✅ Komersial (Rp18.000.000+/tahun) ~250rb BarcodeLib ✅ ❌ ❌ ❌ ⚠️ (System.Drawing) Apache 2.0 (Gratis) ~4,5jt Tabel 1: Perbandingan utama 11 pustaka kode QR .NET di seluruh kriteria pemilihan utama. Jumlah unduhan adalah perkiraan per awal 2026. Sisa artikel ini mengupas setiap baris, dengan kode, kompromi, dan penilaian jujur. Bagaimana Kami Mengevaluasi Pustaka Ini? Kami mengevaluasi setiap pustaka terhadap tujuh kriteria, yang dibobot berdasarkan seberapa sering mereka mendorong keputusan pemilihan di dunia nyata: — Bisakah ia membuat kode QR dari string, URL, dan data terstruktur (vCard, kredensial Wi-Fi)? Pembuatan QR — Bisakah ia mendekode kode QR dari gambar, pemindaian, atau PDF? Bagaimana penanganannya terhadap kode yang rusak atau diputar? Pembacaan QR — Penyematan logo, kontrol warna, gaya bentuk modul, konfigurasi koreksi kesalahan Kustomisasi — QR Standar, QR Mikro, RMQR (QR Mikro Persegi Panjang) Dukungan Format QR — Apakah ia berjalan dengan lancar di Windows, Linux, macOS, dan di dalam kontainer Docker tanpa peretasan System.Drawing? Lintas Platform — Sumber terbuka vs. komersial, harga per pengembang, diskon paket Lisensi & Biaya — Kualitas referensi API, ketersediaan tutorial, ukuran komunitas, pemeliharaan aktif Dokumentasi & Ekosistem Semua contoh kode menargetkan dan menggunakan pernyataan tingkat atas. Di mana .NET 10 memperkenalkan peningkatan yang relevan, kami mencatatnya. .NET 8 (LTS) Pustaka QR Mana yang Harus Anda Pilih? Kerangka Kerja Keputusan Lewati 11 profil pustaka di bawah ini jika Anda sudah mengetahui batasan Anda. Berikut jalur cepatnya: → atau . Keduanya berlisensi MIT. QRCoder memiliki lebih banyak renderer dan pembantu muatan; Net.Codecrete lebih ringan dan menghindari System.Drawing sama sekali. "Saya perlu membuat kode QR secara gratis tanpa dependensi." QRCoder Net.Codecrete.QrCodeGenerator → (pembacaan berbasis ML, akurasi terbaik pada kode yang rusak), (gratis, teruji, dukungan format terluas), atau (paket perusahaan, mahal). "Saya perlu membuat DAN membaca kode QR." IronQR ZXing.Net Aspose.BarCode → , , atau . Ketiganya menghindari dependensi System.Drawing yang mengganggu penyebaran lintas platform. "Saya menyebarkan ke Linux/Docker dan tidak dapat menggunakan System.Drawing." IronQR SkiaSharp.QrCode Net.Codecrete.QrCodeGenerator → memimpin dalam tolok ukur pembuatan mentah. Untuk kinerja pembacaan, dibuat khusus untuk pemindaian throughput tinggi. "Kinerja dan jejak memori sangat penting." SkiaSharp.QrCode Dynamsoft Barcode Reader → Gunakan apa yang Anda miliki. Menambahkan pustaka QR vendor lain ketika paket Anda sudah memilikinya jarang masuk akal dari perspektif lisensi atau pemeliharaan. "Saya sudah menggunakan paket Aspose/Syncfusion/Iron Software." → memiliki panduan integrasi MAUI dan Blazor eksplisit. MVP Microsoft Jeff Fritz menggunakan IronQR dengan Blazor, contoh dunia nyata dari pola yang persis ini. "Saya sedang membangun aplikasi seluler Blazor/MAUI dengan pemindaian QR." IronQR membangun aplikasi kartu nama bisnis berbasis QR 11 Pustaka Kode QR .NET Dibandingkan 1. IronQR — Pembacaan dan Pembuatan QR Berbasis ML dengan Dukungan Lintas Platform IronQR adalah pustaka kode QR khusus Iron Software, terpisah dari produk IronBarcode mereka yang lebih luas. Fitur unggulannya adalah model pembelajaran mesin (berbasis ) yang mendeteksi dan membaca kode QR dari gambar yang tidak sempurna, diputar, sebagian terhalang, atau difoto dari sudut yang aneh, seringkali hanya dalam beberapa baris kode. ONNX Ini juga mampu membuat objek kode QR dengan mudah, dengan dukungan untuk menata kode QR dengan gambar, menambahkan warna kustom, dan menyimpan gambar QR Anda ke format keluaran yang berbeda. Pembuatan: using IronQr; using IronSoftware.Drawing; // Buat kode QR bergaya dengan logo 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"); Keluaran QR yang Dihasilkan IronQR Pembacaan: 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}"); Keluaran Baca IronQR Model ML adalah yang membedakan IronQR dari semua pustaka lain dalam daftar ini. Dalam pengujian kami, ia berhasil mendekode kode QR dari foto lencana konferensi dan tangkapan layar ponsel miring di mana ZXing.Net dan pembaca pemrosesan gambar dasar tidak menghasilkan apa-apa. Komprominya adalah ukuran paket, model ONNX menambah beban. Jika Anda tidak memerlukan pembacaan, IronQR.Slim dikirimkan tanpa model ML dan secara signifikan lebih ringan. Kekuatan: Pembacaan berbasis ML menangani kode QR yang rusak, diputar, dan sebagian terhalang serta memprioritaskan akurasi Mendukung format Kode QR, QR Mikro, dan RMQR (QR Mikro Persegi Panjang) API gaya penuh: warna, logo, modul membulat, margin Lintas platform: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS Dukungan pembacaan asinkron (ReadAsync) untuk beban kerja server Simpan ke beberapa format seperti gambar PNG, JPG, TIFF multi-halaman, dan lainnya API yang ramah pengguna membuatnya mudah digunakan Keterbatasan: Lisensi komersial diperlukan (Rp11.000.000+ per pengembang untuk penyebaran) Paket lengkap lebih berat daripada alternatif sumber terbuka karena model ML lebih rendah daripada opsi sumber terbuka yang matang, produk yang lebih baru (diluncurkan ~2023) Jumlah unduhan NuGet Proyek yang hanya pembuatan mungkin tidak memerlukan overhead ML Proyek yang membutuhkan pembuatan dan pembacaan, terutama di mana kondisi pemindaian tidak sempurna (aplikasi seluler, pemindaian gudang, skenario konferensi/acara). mendemonstrasikan IronQR menangani pembuatan kode QR waktu nyata dengan Blazor dan branding kustom. Terbaik untuk: Studi kasus kartu bisnis QR Jeff Fritz 2. — Pembuat QR Sumber Terbuka Paling Populer QRCoder Pustaka QRCoder adalah paket kode QR yang paling banyak diunduh di NuGet, dengan . Awalnya dibuat oleh Raffael Herrmann pada tahun 2013 dan sekarang , ini adalah implementasi C# murni yang berfokus secara eksklusif pada kode QR (bukan pembacaan). lebih dari 68 juta unduhan dipelihara oleh Shane32 pembuatan using QRCoder; // Buat kode QR dan simpan sebagai byte 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); Gambar Keluaran QRCoder QRCoder menyediakan beberapa renderer: PngByteQRCode (lintas platform, tanpa dependensi System.Drawing), QRCode (berbasis System.Drawing, hanya Windows), SvgQRCode, AsciiQRCode, dan lainnya. Ini juga mencakup generator muatan untuk data terstruktur seperti kredensial Wi-Fi, vCard, dan bookmark, yang menghemat Anda dari memformat string tersebut secara manual. Kekuatan: Lisensi MIT, sepenuhnya gratis untuk penggunaan komersial 68jt+ unduhan NuGet, adopsi komunitas besar dan stabilitas terbukti Beberapa opsi renderer termasuk PngByteQRCode yang menghindari System.Drawing Generator muatan bawaan (Wi-Fi, vCard, geolokasi, acara kalender) Dukungan kode QR mikro Nol dependensi pada target .NET Standard Keterbatasan: , tidak dapat membaca atau mendekode file gambar kode QR Hanya pembuatan Beberapa renderer (seperti QRCode) bergantung pada System.Drawing.Common, yang hanya Windows sejak .NET 6 Tidak ada penyematan logo bawaan (Anda akan menggabungkan gambar itu sendiri) Tidak ada gaya lanjutan (bentuk modul, gradien) Proyek yang hanya memerlukan pembuatan QR, terutama ketika anggaran nol. Jika Anda perlu membuat kode QR Wi-Fi atau vCard dan tidak perlu membaca kode sama sekali, QRCoder adalah pilihan default yang pragmatis untuk sebagian besar pengembang .NET. Terbaik untuk: 3. — Pisau Lipat Swiss Pustaka Barcode ZXing.Net ("Zebra Crossing") adalah dari pustaka ZXing Java asli. Ini adalah pustaka barcode serbaguna yang mendukung lebih dari 15 format, Kode QR, Data Matrix, Aztec, PDF 417, UPC, EAN, Code 128, dan banyak lagi. Dukungan QR adalah subkumpulan dari kemampuannya yang lebih luas. ZXing.Net port .NET using ZXing; using ZXing.Common; using ZXing.QrCode; // Buat kode 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"); // Membaca kode QR memerlukan paket pengikatan (misalnya, ZXing.Net.Bindings.SkiaSharp) Keluaran ZXing.Net ZXing.Net memerlukan paket pengikatan spesifik platform untuk rendering dan pembacaan. Paket inti menyediakan logika pengkodean/pendekodean; Anda menambahkan ZXing.Net.Bindings.Windows.Compatibility, ZXing.Net.Bindings.SkiaSharp, atau ZXing.Net.Bindings.ImageSharp tergantung pada platform target Anda. Pendekatan modular ini fleksibel tetapi menambah kerumitan integrasi. Kekuatan: Lisensi Apache 2.0, gratis untuk penggunaan komersial Pembuatan dan pembacaan dalam satu pustaka Mendukung 15+ format barcode selain kode QR , teruji, pengetahuan komunitas yang luas 32jt+ unduhan NuGet Pengikatan tersedia untuk SkiaSharp, ImageSharp, OpenCV, dan lainnya Keterbatasan: Fitur khusus QR bersifat dasar, tidak ada penyematan logo, tidak ada gaya lanjutan Akurasi pembacaan pada kode QR yang rusak/diputar sedang dibandingkan dengan solusi berbasis ML Paket pengikatan menambah kerumitan manajemen dependensi Desain API menunjukkan usianya, kurang lancar dibandingkan pustaka .NET modern Kecepatan pemeliharaan aktif melambat (dipelihara komunitas) Proyek yang membutuhkan dukungan kode QR dan barcode tradisional (ritel, logistik) dan menginginkan opsi gratis yang terbukti. Jika prioritas Anda adalah fitur khusus QR seperti gaya atau pembacaan berbasis ML daripada cakupan format barcode yang luas, pustaka khusus akan melayani Anda lebih baik. Terbaik untuk: 4. Net.Codecrete.QrCodeGenerator — Ringan dan Berfokus pada Standar Net.Codecrete.QrCodeGenerator adalah pustaka pembuatan kode QR yang bersih dan minimal oleh Manuel Bleichenbacher. Ini adalah , berfokus pada kebenaran dan kepatuhan standar ( ). terjemahan .NET dari generator kode QR Java 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); Contoh Keluaran dengan Net.Codecrete.QrCodeGenerator Dengan , ia diadopsi dengan baik untuk pustaka yang terfokus. Kualitas unggulannya adalah nol dependensi pada System.Drawing — ia menghasilkan SVG, data jalur XAML, PNG, dan BMP secara native. Ini membuatnya menjadi pilihan yang sangat baik untuk proyek .NET lintas platform dan layanan ASP.NET Core yang berjalan di Docker. ~4,1 juta unduhan NuGet Kekuatan: Lisensi MIT, sepenuhnya gratis Nol dependensi System.Drawing, benar-benar lintas platform Jejak kecil, pembuatan cepat Keluaran SVG dan XAML bawaan (berguna untuk skenario WPF, WinUI, dan web) Implementasi yang benar dari semua 40 versi QR dan semua 4 tingkat koreksi kesalahan Proyek contoh ekstensif (WinForms, WPF, ASP.NET Core, SkiaSharp, ImageSharp) Keterbatasan: , tidak ada kemampuan pembacaan QR Hanya pembuatan Tidak ada penyematan logo atau fitur gaya lanjutan Kustomisasi terbatas dibandingkan dengan generator muatan QRCoder Lebih sedikit konten komunitas dan tutorial dibandingkan dengan QRCoder atau ZXing.Net Pengembang yang membutuhkan pembuat QR yang kecil, benar, lintas platform dengan keluaran SVG dan tanpa beban System.Drawing. Jika target penyebaran Anda adalah Linux atau Docker dan Anda hanya memerlukan pembuatan, pustaka ini layak dipertimbangkan. Terbaik untuk: 5. SkiaSharp.QrCode — Pembuatan Lintas Platform Berkinerja Tinggi SkiaSharp.QrCode oleh adalah pustaka pembuatan QR yang berfokus pada kinerja yang dibangun di atas SkiaSharp. Itu dibuat khusus untuk menghindari batasan GDI+ System.Drawing sambil memberikan kinerja tingkat asli melalui percepatan perangkat keras SkiaSharp. guitarrapc using SkiaSharp.QrCode.Image; // Satu baris: buat dan simpan QRCodeImageBuilder.SavePng("https://example.com", "qrcode.png"); // Atau dengan pengaturan kustom var pngBytes = new QRCodeImageBuilder("https://example.com") .WithSize(512, 512) .WithErrorCorrection(ECCLevel.H) .ToByteArray(); Keluaran Satu Baris SkiaSharp.QrCode Hasil tolok ukur dari repositori proyek menunjukkan SkiaSharp.QrCode mengungguli QRCoder dan pustaka QR .NET lainnya dalam kecepatan dan alokasi memori untuk tugas pembuatan. Ini mencapai rendering bebas salinan langsung ke kanvas SkiaSharp, menghindari alokasi buffer perantara. Kekuatan: Lisensi MIT, gratis untuk penggunaan komersial Kinerja pembuatan terbaik di kelasnya (terukur) Alokasi memori minimal, tekanan GC rendah untuk skenario throughput tinggi Siap NativeAOT (dukungan kompilasi AOT .NET Native) Bentuk modul kustom (lingkaran, persegi panjang bulat) untuk kode QR bergaya Berfungsi di Windows, Linux, macOS, iOS, Android, WebAssembly Keterbatasan: , tidak ada pembacaan QR Hanya pembuatan Memerlukan dependensi asli SkiaSharp (paket NuGet spesifik platform) Komunitas lebih kecil daripada QRCoder atau ZXing.Net Tidak ada generator muatan (Wi-Fi, vCard), Anda memformat string tersebut sendiri Hanya UTF-8, tidak ada pengkodean ISO-8859-2 atau Shift JIS Aplikasi server throughput tinggi yang menghasilkan kode QR dalam skala besar (misalnya, sistem tiket, pembuatan label massal) di mana kinerja dan efisiensi memori paling penting. Juga ideal jika Anda sudah menggunakan SkiaSharp dalam proyek Anda. Terbaik untuk: 6. Aspose.BarCode — Paket Barcode Tingkat Perusahaan untuk Membuat Kode QR adalah pustaka komersial komprehensif yang mendukung lebih dari 80 simbologi barcode termasuk Kode QR, QR Mikro, Data Matrix, PDF 417, dan semua format 1D umum. Ini adalah bagian dari ekosistem Aspose yang lebih luas yang digunakan oleh perusahaan untuk pemrosesan dokumen. Aspose.BarCode untuk .NET using Aspose.BarCode.Generation; using Aspose.BarCode.BarCodeRecognition; // Buat var generator = new BarcodeGenerator(EncodeTypes.QR, "https://example.com"); generator.Parameters.Barcode.XDimension.Pixels = 4; generator.Save("aspose-qr.png", BarCodeImageFormat.Png); // Baca using var reader = new BarCodeReader("aspose-qr.png", DecodeType.QR); foreach (var result in reader.ReadBarCodes()) Console.WriteLine($"Type: {result.CodeTypeName}, Text: {result.CodeText}"); Keluaran QR Aspose.BarCode Keluaran Baca Aspose.BarCode Aspose.BarCode menyediakan preset QualitySettings yang menyeimbangkan kecepatan pengenalan terhadap toleransi untuk kode yang rusak, dari HighPerformance (cepat, gambar bersih) hingga HighQuality (lebih lambat, menangani noise dan distorsi). Kekuatan