IRONSOFTWAREHOME

C# Barcode Scanner: Read Barcodes & QR Codes in .NET Applications

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 4 czerwca 2026

Potrzebujesz szybko zeskanować kody kreskowe lub kody QR w swojej aplikacji .NET? IronBarcode sprawia, że odczytywanie kodów kreskowych jest proste i niezawodne, niezależnie od tego, czy przetwarzasz idealne obrazy cyfrowe, czy trudne zdjęcia rzeczywiste. Ten przewodnik pokazuje, jak dokładnie zaimplementować skanowanie kodów kreskowych w C# z praktycznymi przykładami, które możesz użyć od razu.

Szybki start: Odczytaj kod kreskowy z pliku natychmiast

Ten szybki przykład pokazuje, jak łatwo jest zacząć z IronBarcode. Wystarczy jedna linia kodu, aby odczytać kody kreskowe z pliku graficznego—bez konieczności skomplikowanej konfiguracji.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Skopiuj i uruchom ten fragment kodu.

    var results = IronBarCode.BarcodeReader.Read("path/to/barcode.png");
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak zainstalować IronBarcode w moim projekcie .NET?

IronBarcode instaluje się łatwo przez Menedżera Pakietów NuGet lub pobierając bezpośrednio plik DLL. Instalacja z NuGet jest zalecanym podejściem, ponieważ automatycznie zarządza zależnościami i aktualizacjami.

PM > Install-Package BarCode

Po instalacji, dodaj using IronBarCode; do swoich plików C#, aby uzyskać dostęp do funkcji skanowania kodów kreskowych. Aby zapoznać się z szczegółowymi instrukcjami instalacji w różnych środowiskach deweloperskich, sprawdź nasz przewodnik instalacji.

Jak mogę odczytać mój pierwszy kod kreskowy za pomocą C#?

Odczytywanie kodów kreskowych z IronBarcode wymaga zaledwie jednej linii kodu. Biblioteka automatycznie wykrywa formaty kodów kreskowych i wyodrębnia wszystkie zakodowane dane.

Kod kreskowy Code128 gotowy do skanowania - zawiera tekst 'https://ironsoftware.com/csharp/barcode/'Standardowy kod kreskowy Code128, który IronBarcode może odczytać natychmiast
using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Choose which filters are to be applied (in order)
    ImageFilters = new ImageFilterCollection() {
        new AdaptiveThresholdFilter(),
    },

    // Uses machine learning to auto rotate the barcode
    AutoRotate = true,
};

// Read barcode
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

Metoda BarcodeReader.Read zwraca kolekcję BarcodeResults zawierającą wszystkie wykryte kody kreskowe. Każdy BarcodeResult zapewnia dostęp do wartości tekstowej kodu kreskowego, typu formatu, współrzędnych położenia i danych binarnych. To podejście działa bezproblemowo z typowymi formatami kodów kreskowych, w tym Code128, Code39, kodami QR i kodami Data Matrix.

Jakie opcje pomagają odczytywać trudne lub uszkodzone kody kreskowe?

Skanowanie kodów kreskowych w rzeczywistym świecie często obejmuje niedoskonałe obrazy - przechylone kąty, słabe oświetlenie lub częściowe uszkodzenia. Zaawansowane opcje IronBarcode radzą sobie skutecznie z tymi wyzwaniami.

using IronBarCode;
using System;

// Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input image
BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var pageResult in results)
{
    string Value = pageResult.Value;
    int PageNum = pageResult.PageNumber;
    System.Drawing.Bitmap Img = pageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = pageResult.BarcodeType;
    byte[] Binary = pageResult.BinaryValue;
    Console.WriteLine(pageResult.Value + " on page " + PageNum);
}
Kod QR obrócony o 45 stopni demonstrujący obsługę obrotów przez IronBarcodeObrócony kod QR, który IronBarcode skutecznie odczytuje przy użyciu zaawansowanych opcji

Właściwość ExpectBarcodeTypes znacząco poprawia wydajność, ograniczając wyszukiwanie do określonych formatów. Dla maksymalnej dokładności przy problematycznych obrazach, połącz filtry obrazów z automatycznym obrotem:

using IronBarCode;

// Multi frame TIFF and GIF images can also be scanned
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var pageResult in multiFrameResults)
{
    //...
}

Te zaawansowane funkcje czynią IronBarcode idealnym do skanowania kodów kreskowych ze zdjęć, kamer bezpieczeństwa lub ujęć z urządzeń mobilnych, gdzie jakość obrazu znacznie się różni.

Jak mogę zeskanować wiele kodów kreskowych z dokumentów PDF?

Skanowanie kodów kreskowych z dokumentów PDF jest kluczowe do przetwarzania faktur, etykiet wysyłkowych i dokumentów inwentaryzacyjnych. IronBarcode odczytuje wszystkie kody kreskowe na każdej stronie efektywnie.

Odczytywanie kodów kreskowych z plików PDF

using IronBarCode;

// The Multithreaded property allows for faster barcode scanning across multiple images or PDFs. All threads are automatically managed by IronBarCode.
var ListOfDocuments = new[] { "image1.png", "image2.JPG", "image3.pdf" };

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Enable multithreading
    Multithreaded = true,
};

BarcodeResults batchResults = BarcodeReader.Read(ListOfDocuments, options);

Wiele kodów kreskowych wykrytych na stronach PDF pokazujących konsolowy wynik Konsolowy wynik pokazujący wiele kodów kreskowych znalezionych na różnych stronach PDF

Dla określonych zakresów stron lub zaawansowanego przetwarzania PDF, użyj BarcodeReaderOptions:

// Read only specific pages to improve performance
PdfBarcodeReaderOptions pdfOptions = new PdfBarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    DPI = 300 // Higher DPI for better accuracy
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
C#

Jak mogę przetwarzać obrazy TIFF z wieloma klatkami?

Pliki TIFF z wieloma klatkami, powszechne w systemach skanowania dokumentów i faksów, otrzymują taką samą wszechstronną obsługę jak pliki PDF.

Wieloklatkowy TIFF zawierający wiele kodów kreskowych na różnych klatkach Plik TIFF z wieloma klatkami z kodami kreskowymi na różnych klatkach

using IronBarCode;

// TIFF files are processed similarly to regular images
// Each frame is scanned automatically
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var result in multiFrameResults)
{
    // Access frame-specific information
    int frameNumber = result.PageNumber; // Frame number in TIFF
    string barcodeValue = result.Text;
    
    Console.WriteLine($"Frame {frameNumber}: {barcodeValue}");
    
    // Save individual barcode images if needed
    result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png");
}

Te same BarcodeReaderOptions mają zastosowanie do przetwarzania TIFF, w tym filtry obrazów i ustawienia obrotu. Dla szczegółowych scenariuszy obsługi TIFF, zobacz nasze samouczki przetwarzania obrazów.

Czy mogę przyspieszyć przetwarzanie przy użyciu wielowątkowości?

Przetwarzanie wielu dokumentów korzysta znacznie z przetwarzania równoległego. IronBarcode automatycznie wykorzystuje dostępne rdzenie CPU dla optymalnej wydajności.

using IronBarCode;

// List of documents to process - mix of formats supported
var documentBatch = new[] 
{ 
    "invoice1.pdf", 
    "shipping_label.png", 
    "inventory_sheet.tiff",
    "product_catalog.pdf"
};

// Configure for batch processing
BarcodeReaderOptions batchOptions = new BarcodeReaderOptions
{
    // Enable parallel processing across documents
    Multithreaded = true,
    
    // Limit threads if needed (0 = use all cores)
    MaxParallelThreads = Environment.ProcessorCount,
    
    // Apply consistent settings to all documents
    Speed = ReadingSpeed.Balanced,
    ExpectBarcodeTypes = BarcodeEncoding.All
};

// Process each document, tracking the source path externally
foreach (var document in documentBatch)
{
    BarcodeResults results = BarcodeReader.Read(document, batchOptions);

    Console.WriteLine($"\nDocument: {document}");
    foreach (var barcode in results)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
C#

Ta równoległa metoda przetwarza dokumenty jednocześnie, redukując całkowity czas skanowania do 75% w systemach wielordzeniowych. Dla przetwarzania kodów kreskowych na skalę enterprise zobacz nasz przewodnik optymalizacji wydajności.

Podsumowanie

IronBarcode przekształca skomplikowane skanowanie kodów kreskowych w prosty kod C#. Niezależnie od tego, czy tworzysz systemy magazynowe, procesory dokumentów, czy aplikacje mobilne, biblioteka obsługuje wszystko, od nienaruszonych cyfrowych kodów kreskowych po trudne zdjęcia rzeczywiste.

Omawiane kluczowe możliwości:

  • Odczyt jednowierszowy kodów kreskowych z obrazów
  • Zaawansowane opcje dla uszkodzonych lub obróconych kodów kreskowych
  • Kompleksowe skanowanie dokumentów PDF i TIFF
  • Wydajne przetwarzanie wsadowe z wielowątkowością
  • Wsparcie dla wszystkich głównych formatów kodów kreskowych

Dalsza lektura

Rozszerz swoje możliwości przetwarzania kodów kreskowych z tymi zasobami:

Pliki do pobrania z kodem źródłowym

Uruchom te przykłady samodzielnie:

Gotowy do zaimplementowania skanowania kodów kreskowych w swojej aplikacji? Rozpocznij darmowy okres próbny i dodaj profesjonalne odczytywanie kodów kreskowych do swojego projektu .NET już dziś.

Pierwszy krok:
arrow pointer

Często Zadawane Pytania

Jak zainstalować bibliotekę do czytania kodów kreskowych w projekcie .NET?

Możesz zainstalować bibliotekę IronBarcode za pośrednictwem Menedżera pakietów NuGet używając polecenia dotnet add package BarCode lub za pomocą interfejsu NuGet w Visual Studio. Alternatywnie, pobierz DLL do ręcznej instalacji.

Jaka jest metoda na przeczytanie kodu kreskowego z obrazu przy użyciu C#?

Użyj metody BarcodeReader.Read z IronBarcode w jednej linii kodu: var results = BarcodeReader.Read('image.png'); Ta metoda wykrywa i czyta wszystkie formaty kodów kreskowych obecne na obrazie.

Czy możliwe jest wykrycie wielu kodów kreskowych na jednym obrazie lub dokumencie?

Tak, IronBarcode może automatycznie wykrywać i czytać wiele kodów kreskowych na obrazie, w pliku PDF lub wieloklatkowym TIFF, zwracając każdą wartość kodu kreskowego, typ i pozycję w kolekcji BarcodeResults.

Jak czytam kody kreskowe z pliku PDF przy użyciu C#?

Użyj metody IronBarcode BarcodeReader.ReadPdf, aby skanować wszystkie strony dokumentu PDF: var results = BarcodeReader.ReadPdf('document.pdf'); Każdy wynik zawiera numer strony, na której został znaleziony kod kreskowy.

Co powinienem zrobić, jeśli obrazy kodów kreskowych są rozmyte lub obrócone?

Skonfiguruj BarcodeReaderOptions, aby obsługiwać trudne obrazy, ustawiając AutoRotate = true i stosując filtry obrazu, takie jak SharpenFilter lub AdaptiveThresholdFilter. Użyj Speed = ExtremeDetail dla lepszej dokładności.

Jakie formaty kodów kreskowych są obsługiwane w aplikacjach .NET?

IronBarcode obsługuje wszystkie główne formaty kodów kreskowych, takie jak QR Code, Code 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF417 i inne. Użyj BarcodeEncoding.All, aby skanować w poszukiwaniu dowolnego obsługiwanego formatu.

Jak mogę poprawić wydajność skanowania kodów kreskowych w aplikacji C#?

Zwiększ wydajność, określając oczekiwane typy kodów kreskowych za pomocą ExpectBarcodeTypes, aktywizując przetwarzanie wielowątkowe i wybierając odpowiednie ustawienia Speed. Do zadań zbiorczych używaj BarcodeReader.Read ze ścieżkami plików.

Jaka jest zalecana metoda obsługi błędów przy czytaniu kodów kreskowych?

Zamykaj czytanie kodów kreskowych w bloki try-catch i sprawdzaj, czy wyniki nie są nullem lub pustymi. IronBarcode dostarcza szczegółowe komunikaty o błędach oraz właściwość Confidence, aby wskazać niezawodność detekcji.

Czy mogę wyodrębnić obrazy kodów kreskowych po ich zeskanowaniu?

Tak, BarcodeResult w IronBarcode zawiera właściwość BarcodeImage, która zawiera Bitmapę wykrytego kodu kreskowego, którą można zapisać lub przetworzyć osobno.

Jak czytać kody kreskowe z określonych stron w dokumencie PDF?

Ustaw właściwość PageNumbers w BarcodeReaderOptions, aby określić strony: options.PageNumbers = new[] {1, 2, 3}; Optymalizuje to wydajność, skanując tylko wyznaczone strony.

Jakie formaty obrazów są kompatybilne ze skanowaniem kodów kreskowych w .NET?

IronBarcode obsługuje skanowanie w formatach takich jak PNG, JPEG, BMP, GIF, TIFF (w tym wieloklatkowe) i PDF. Możesz ładować obrazy ze ścieżek plików, strumieni lub tablicy bajtów.

Jak uzyskać dane binarne z zeskanowanych kodów kreskowych w C#?

Wykorzystaj właściwość BinaryValue klasy BarcodeResult, aby uzyskać surowe dane binarne, szczególnie przydatne dla kodów kreskowych zawierających dane inne niż tekstowe, takie jak informacje skompresowane lub protokoły binarne.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,422,100Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronBarCode"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronBarCode do lokalizacji, takiej jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Referencje. Wybierz Przeglądaj, "IronBarCode.dll"

Licencje od $999

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