IRONSOFTWAREHOME
KORZYSTANIE Z IRONBARCODE

Zbuduj SDK do kodów kreskowych C#: Generuj, odczytuj i skanuj kody kreskowe za pomocą jednej biblioteki

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Większość projektów SDK kodów kreskowych w C# zaczyna się od tego samego problemu: połączenie odrębnych bibliotek do generacji, odczytu i eksportu, potem zmaga z kompatybilnością między typami kodów kreskowych i platformami. IronBarcode całkowicie eliminuje to tarcie. To pojedyncza biblioteka .NET, która obsługuje wszystkie operacje związane z kodami kreskowymi, które zazwyczaj potrzebują programiści z dedykowanego SDK do skanerów kodów kreskowych, od tworzenia liniowych kodów kreskowych i kodów QR po skanowanie wielu kodów kreskowych z niedoskonałych obrazów i plików PDF.

W tym artykule przeprowadzimy Cię przez podstawowe funkcje, które sprawiają, że IronBarcode jest kompleksowym rozwiązaniem dla projektów SDK kodów kreskowych: generowanie obrazów kodów kreskowych, odczytywanie danych kodów kreskowych z plików i konfigurowanie zaawansowanych ustawień skanowania dla produkcyjnej dokładności. Każdy kolejny przykład kodu działa w niezmienionej formie w aplikacji konsolowej .NET.

NuGetZainstaluj za pomocą NuGet

PM > Install-Package BarCode

Install IronBarcode by running the command above in the NuGet Package Manager Console, or search for the package in the NuGet Package Manager.

Co powinno obsługiwać SDK kodów kreskowych w projektach .NET?

Zdolne SDK do skanowania kodów kreskowych musi obejmować trzy podstawowe operacje: generowanie kodów kreskowych, odczytywanie danych z kodów kreskowych z obrazów i dokumentów oraz obsługę kwestii jakości skanowania w rzeczywistym świecie. Najlepsze opcje SDK do czytania kodów kreskowych wspierają także wiele różnych symbologii, bez potrzeby używania różnych bibliotek dla każdej z nich.

IronBarcode supports both linear barcodes (Code 128, Code 39, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar) and 2D barcodes (QR Code, Data Matrix, PDF417, Aztec, MaxiCode). To pokrycie oznacza, że deweloperzy .NET mogą przetwarzać wszystko od kodów UPC-A w handlu detalicznym po kody QR w magazynach, używając jednego pliku DLL do kodów kreskowych, bez dodatkowych zależności, bez platformowych natywnych bibliotek binarnych. Darmowa licencja próbna daje pełny dostęp do wszystkich funkcji przez 30 dni.

Biblioteka działa na systemach operacyjnych Windows, macOS i Linux, z wsparciem dla wdrażania aplikacji .NET MAUI i Android. Również integruje się z narzędziami do raportowania, takimi jak Crystal Reports w scenariuszach, które wymagają osadzonego generowania kodów kreskowych wewnątrz dokumentów biznesowych. Niezależnie od tego, czy projekt jest aplikacją konsolową, mobilnym skanerem .NET MAUI, czy serwerowym czytnikiem kodów kreskowych przetwarzającym tysiące obrazów, to samo API SDK do skanowania kodów kreskowych obsługuje wszystko.

How Can Developers Generate Barcode Images in C#?

Metoda BarcodeWriter.CreateBarcode generuje obraz kodu kreskowego z wartości ciągu i określonej symbologii w jednym wywołaniu. Zwrócony obiekt GeneratedBarcode może być zapisany jako plik PNG, BMP, JPEG, PDF, HTML lub wyeksportowany w formatach wektorowych, takich jak SVG.

using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");

Wygenerowane obrazy kodów kreskowych

Zbuduj SDK kodów kreskowych C#: Generowanie, odczyt i skanowanie kodów kreskowych za pomocą jednej biblioteki: Obraz 1 - Wynikowe obrazy kodu kreskowego i kodu QR

Klasa BarcodeWriter przyjmuje dane jako ciąg, tablicę bajtów lub strumień, oferując elastyczność przy różnych źródłach danych. Enum BarcodeEncoding kontroluje symbologię, przekazując BarcodeEncoding.QRCode dla kodu QR, BarcodeEncoding.UPCA dla etykiet detalicznych UPC-A lub dowolny z obsługiwanych formatów kodów kreskowych. Dla stylizowanych kodów QR, dedykowana klasa QRCodeWriter obsługuje poziomy korekcji błędów oraz umieszczanie logotypów, ułatwiając tworzenie kodów brandowych.

Obiekt GeneratedBarcode także oferuje metody do dostosowywania właściwości kodów kreskowych, takich jak marginesy, kolory oraz teksty adnotacji. Obrazy kodów kreskowych mogą być eksportowane w formatach rastrowych (PNG, BMP, JPEG) i wektorowych, lub renderowane bezpośrednio do HTML w scenariuszach aplikacji internetowych. Zobacz przykłady tworzenia kodów kreskowych dla dodatkowych opcji wyjściowych.

Jak działa czytnik kodów kreskowych dla plików graficznych i PDF?

Metoda BarcodeReader.Read akceptuje ścieżkę do pliku graficznego, tablicę bajtów, bitmapę lub strumień, a następnie zwraca kolekcję BarcodeResults zawierającą wszystkie kody kreskowe znalezione w danych wejściowych. Każdy BarcodeResult ujawnia wartość kodu kreskowego, typ kodowania, numer strony, dane binarne oraz region obrazu kodu kreskowego.

using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}

Odczyt danych dla kodów kreskowych

Zbuduj SDK kodów kreskowych C#: Generowanie, odczyt i skanowanie kodów kreskowych za pomocą jednej biblioteki: Obraz 2 - Odczyt danych wyjściowych kodu kreskowego

Czytnik kodów kreskowych wykonuje rozpoznawanie kodów dla wszystkich głównych symbologii domyślnie, automatycznie wykrywając liniowe kody kreskowe, 2D kody kreskowe oraz kody QR bez konieczności określania przez programistę, jakiego typu kod ma skanować. Podczas skanowania pliku PDF, ReadPdf przetwarza każdą stronę i zwraca wyniki z przyczepionymi numerami stron, co jest idealne do indeksowania dokumentów oraz przepływów pracy archiwalnej.

Każdy BarcodeResult w kolekcji zapewnia dostęp do zdekodowanych danych kodu kreskowego zarówno jako ciąg, jak i jako tablica bajtów. To jest szczególnie przydatne podczas przetwarzania kodów Data Matrix lub innych symbologii, które kodują dane binarne. Wynik odczytu kodu kreskowego zawiera również współrzędne pozycji kodu, umożliwiając aplikacjom mapowanie, gdzie każdy kod pojawił się w źródłowym pliku obrazu. Do przetwarzania wsadowego w całym folderze obrazów, przekaż IEnumerable<string> ścieżek plików do czytnika kodów kreskowych z włączonym przetwarzaniem wielowątkowym dla równoległego wykonania.

Jak SDK do skanowania kodów kreskowych może radzić sobie z jakością obrazu w rzeczywistych scenariuszach?

Rzeczywiste obrazy z kodami kreskowymi, z kamer magazynowych, mobilnych przechwyceń czy zeskanowanych dokumentów, rzadko są doskonałe pod względem pikselowym. Klasa BarcodeReaderOptions zapewnia szczegółową kontrolę nad szybkością skanowania, oczekiwanymi symbologiami, filtrami korekcji obrazów i przetwarzaniem wsadowym w trybie wielowątkowym, aby osiągnąć bardzo dokładne rozpoznawanie kodów kreskowych nawet przy uszkodzonych lub przekrzywionych danych wejściowych.

using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType} &mdash; {barcode.Value}");
}

Wynik dla skanowania obrazu kodu kreskowego z szumem

Zbuduj SDK kodów kreskowych C#: Generowanie, odczyt i skanowanie kodów kreskowych za pomocą jednej biblioteki: Obraz 3 - Przykład wyniku skanowania zaszumionego obrazu kodu kreskowego

Ustawienie ExpectBarcodeTypes na określony podzbiór symbologii (zamiast skanowania dla wszystkich typów) dramatycznie poprawia zarówno prędkość, jak i dokładność. Enum ReadingSpeed oferuje cztery poziomy — Faster, Balanced, Detailed i ExtremeDetail, umożliwiając programistom dostosowanie kompromisu między czasem przetwarzania a dokładnością rozpoznawania kodów kreskowych. Kolekcja ImageFilterCollection stosuje filtry przetwarzania wstępnego, takie jak wyostrzanie, regulacja kontrastu i progowanie adaptacyjne, zanim silnik skanowania przetworzy obraz kodu kreskowego.

Flaga ExpectMultipleBarcodes informuje silnik o kontynuowaniu skanowania po znalezieniu pierwszego dopasowania, co jest niezbędne, gdy trzeba zeskanować wiele kodów kreskowych na jednej etykiecie lub stronie dokumentu. Połączone z Multithreaded = true, biblioteka rozdziela przetwarzanie wsadowe na rdzenie CPU dla scenariuszy skanowania o wysokiej przepustowości. Aby zagłębić się w te ustawienia, samouczek odczytu kodów kreskowych obejmuje każdą opcję konfiguracji z przykładem kodu.

Jakie typy kodów kreskowych i platformy są obsługiwane?

IronBarcode obejmuje najczęściej używane symbologie kodów kreskowych w różnych branżach, w tym w handlu detalicznym, logistyce, opiece zdrowotnej oraz aplikacjach korporacyjnych. Poniższa tabela podsumowuje obsługiwane typy kodów kreskowych i docelowe platformy.

KategoriaObsługiwane formaty
Liniowe kody kreskoweCode 128, Code 39, Code 93, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar, ITF, MSI, Codabar
2D kody kreskoweQR Code, Data Matrix, PDF417, Aztec, MaxiCode
Formaty obrazówPNG, JPEG, BMP, GIF, TIFF, SVG
Format dokumentówPDF (wielostronicowy), HTML
Platformy .NET.NET 8/7/6, .NET Core, .NET Framework 4.6.2+, .NET Standard 2.0+
Typy aplikacjiConsole, Windows Forms, WPF, ASP.NET, .NET MAUI, Blazor
Systemy operacyjneWindows, macOS, Linux, Android (za pośrednictwem .NET MAUI)

Biblioteka instaluje się jako pojedynczy pakiet NuGet (BarCode) lub jako samodzielny plik DLL kodu kreskowego przez bezpośrednie pobranie. Nie są wymagane żadne natywne zależności SDK, cały SDK skanera kodów kreskowych jest dostarczany jako zarządzany kod .NET. Zainstaluj go w Visual Studio przez Menedżera Pakietów NuGet lub uruchom .NET add package BarCode z CLI. Dla scenariuszy wdrażania, które wymagają kontroli na poziomie plików DLL, pobierz IronBarcode DLL oferuje paczkę ZIP gotową do ręcznej integracji.

IronBarcode również wspiera integrację z Crystal Reports i innymi narzędziami raportującymi, gdzie potrzeba osadzonego generowania kodów kreskowych. Dla rozwoju aplikacji .NET MAUI i Android, SDK skanera kodów kreskowych oferuje wieloplatformowe czytanie kodów kreskowych bez potrzeby platformowych SDK do obsługi kamer — po prostu przekaż plik obrazu uchwycony przez kamerę urządzenia do czytnika kodów kreskowych. Wieloplatformowy samouczek czytnika kodów kreskowych .NET MAUI obejmuje ten przepływ pracy .NET MAUI w sposób szczegółowy, w tym uprawnienia Android i przykłady kodu dla mobilnego skanowania.

Co dalej?

IronBarcode dostarcza programistom .NET kompletną bibliotekę kodów kreskowych dla projektów na poziomie SDK z tworzeniem, odczytem, skanowaniem wsadowym i eksportem wszystkiego zawartym — bez złożoności zarządzania wieloma pakietami. Najnowsza wersja dodaje wstępne przetwarzanie obrazu oparte na ML oraz metodę ReadPdfs dla przetwarzania wsadowego PDF, nieustannie przesuwając granice tego, co potrafi jedna biblioteka.

Rozpocznij bezpłatną wersję próbną, aby przetestować każdą funkcję w swoim własnym projekcie bez znaków wodnych i ograniczeń. Kiedy będziesz gotowy do wdrożenia, zapoznaj się z opcje licencjonowania IronBarcode, zaczynając od $999 dla indywidualnych deweloperów — z bezpłatnym wsparciem od zespołu inżynierów Iron Software w zestawie.

Pierwszy krok:
arrow pointer
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta