IRONSOFTWAREHOME

Jak odczytywać kody kreskowe i kody QR w języku C# za pomocą IronOCR

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

IronOCR odczytuje kody kreskowe i kody QR w C#, ustawiając ReadBarCodes = true w konfiguracji. To pojedyncze ustawienie umożliwia automatyczne wyodrębnianie wartości kodów kreskowych z plików PDF i obrazów wraz ze standardowym rozpoznawaniem tekstu, obsługując ponad 20 formatów kodów kreskowych, w tym kody QR, Code 128 i Data Matrix.

Szybki start: Natychmiastowe odczytywanie BarCodes z pliku PDF

Włącz wykrywanie kodów kreskowych za pomocą jednego ustawienia i skanuj pliki PDF za pomocą IronOCR. Poniższy kod pokazuje, jak włączyć odczyt BarCode, przetworzyć plik PDF i pobrać zdekodowane wartości.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    var result = new IronOcr.IronTesseract() { Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = true } }.Read(new IronOcr.OcrPdfInput("document.pdf"));
    foreach(var bc in result.Barcodes) Console.WriteLine(bc.Value);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Jak odczytać BarCodes z dokumentów PDF?

Utwórz obiekt IronTesseract, aby wykonać odczyt. Ustaw właściwość ReadBarCodes na true, aby umożliwić wykrywanie kodów kreskowych. Importuj dokument PDF, używając OcrPdfInput konstruktor. Użyj metody Read, aby wykonać OCR na zaimportowanym PDF.

Oto przykład wykorzystujący ten dokument PDF:

using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcode reading
ocrTesseract.Configuration.ReadBarCodes = true;

// Add PDF
using var imageInput = new OcrPdfInput("pdfWithBarcodes.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output detected barcodes and text values
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Wynik debugowania IronOCR pokazujący wyodrębniony tekst i trzy BarCodes (A, B, C) z pliku PDF zawierającego profile biznesowe

Pod BarCodeami pojawia się wiele wartości, które są uwzględnione w wyodrębnionym tekście.

Dlaczego IronOCR wyodrębnia zarówno tekst, jak i wartości BARCODE-ów?

Podwójne wyodrębnianie danych w IronOCR zapewnia kompleksową analizę dokumentów. Podczas przetwarzania dokumentów zawierających zarówno tekst, jak i kody kreskowe, biblioteka wykonuje standardowe wyodrębnianie tekstu metodą OCR, jednocześnie dekodując symbole BarCODE. To ujednolicone podejście eliminuje potrzebę wielokrotnego przetwarzania lub stosowania oddzielnych bibliotek.

Funkcja wyodrębniania tekstu przechwytuje elementy czytelne dla człowieka, natomiast wykrywanie BARCODE-ów identyfikuje i dekoduje dane czytelne dla maszyn. Jest to przydatne w przypadku dokumentów takich jak faktury, etykiety wysyłkowe lub raporty magazynowe, w których wartości BarCode są powiązane z drukowanym tekstem. Klasa OcrResult rozdziela te wyjścia - dostęp do tekstu przez właściwość Text i dane z kodów kreskowych przez kolekcję Barcodes.

Jakie formaty BarCode'ów są obsługiwane?

IronOCR obsługuje ponad 20 formatów kodów kreskowych:

BarCode 1D:

  • Kod 128, Kod 39, Kod 93
  • EAN-13, EAN-8
  • UPC-A, UPC-E
  • Kodabar
  • ITF (Interleaved 2 z 5)
  • MSI
  • Plessey

Kody kreskowe 2D:

  • Kod QR
  • Data Matrix
  • PDF417
  • Kod Aztec
  • MaxiCode

Do aplikacji specjalistycznych jak odczyt czekow MICR czy przetwarzanie dokumentów tozsamosci, możliwości kodow kreskowych IronOCR uzupelniaja jego funkcje ekstrakcji tekstu.

Kiedy należy używać OCR do odczytu kodow kreskowych zamiast dedykowanych bibliotek kodow kreskowych?

Wybierz zintegrowany odczyt kodow kreskowych IronOCR, gdy:

  1. Przetwarzanie mieszanego zawartości: Dokumenty zawieraja tekst i kody kreskowe (etykiety wysylkowe, faktury lub zeskanowane dokumenty)
  2. Preferencja jednej biblioteki: Chcesz zminimalizowac zależności i uzyc jednego rozwiązania
  3. Przetwarzanie PDF: Juz używasz IronOCR do ekstrakcji tekstu OCR z PDF
  4. Zlozone układy dokumentów: Dokumenty maja kody kreskowe osadzone w obszarach tekstowych lub tablicach

Używaj dedykowanych bibliotek kodow kreskowych, gdy:

  • Przetwarzanie obrazów z kodami tylko kreskowymi o duzej objetosci
  • Wymagane skanowanie kodow kreskowych w czasie rzeczywistym (< 50 ms czas reakcji)
  • Praca z uszkodzonymi lub niskiej jakosci kodami kreskowymi wymagajacymi specjalistycznych algorytmow
  • Implementowanie mobilnego skanowania kodow kreskowych z optymalizacja kamery

Jak mogę odczytać kody QR z dokumentów?

Podobnie jak przy odczycie kodu kreskowego, ustaw właściwość ReadBarCodes na true. Nie sa potrzebne zadne inne zmiany w kodzie z wyjątkiem ścieżki pliku. Przetworz ten dokument PDF z kodami QR:

using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcode reading
ocrTesseract.Configuration.ReadBarCodes = true;

// Add PDF
using var imageInput = new OcrPdfInput("pdfWithQrCodes.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output detected barcodes and text values
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Wyjscie IronOCR w Visual Studio pokazujace wyekstrahowany tekst i pomyslnie zdekodowane kody QR A, B i C z dokumentu

Dlaczego ta sama konfiguracja działa zarówno dla kodów kreskowych, jak i kodów QR?

Zunifikowany silnik wykrywania kodow kreskowych IronOCR traktuje wszystkie kody maszynowo-czytelne jednakowo. Konfiguracja ReadBarCodes aktywuje wszechstronny detektor symbologii, który rozpoznaje zarówno formaty 1D (kody kreskowe liniowe), jak i 2D (kody QR, Data Matrix) bez potrzeby ustawiania specyficznych formatów. Takie podejście upraszcza implementacje i zmniejsza zlozonosc konfiguracji.

Algorytm detekcji automatycznie:

  • Identyfikuje typ symbologii na podstawie rozpoznawania wzorcow
  • Stosuje odpowiednie algorytmy dekodowania
  • Obsługuje zmiany orientacji i rozmiaru
  • Zwraca wyniki w jednolitym formacie bez wzgledu na typ kodu kreskowego

To podejście odzwierciedla działanie modeli komputerowego widzenia - trenowanie na wielu formatach, aby zapewnic uniwersalne zdolnosci detekcji.

Jakie sa powszechne problemy przy odczycie kodow QR za pomoca OCR?

Powszechne wyzwania przy przetwarzaniu kodow QR obejmuja:

  1. Problemy z rozdzielczoscia: Kody QR w plikach PDF mogą być sprowadzone do rozdzielczosci poniżej minimalnego rozmiaru modulu. Uzyj ustawienia DPI dla zapewnienia odpowiedniej rozdzielczosci (zalecane minimum 300 DPI).

  2. Jakosc obrazu: Zeskanowane kody QR często cierpia z powodu rozmycia, szumu lub znieksztalcen. Zastosuj filtry korekcji obrazu, aby zwiększyć wyrazistosc:

// Apply filters to improve QR code readability
ocrTesseract.Configuration.ReadBarCodes = true;
var input = new OcrImageInput("qr-code-scan.jpg");
input.DeNoise();
input.Sharpen();
input.EnhanceResolution();

var result = ocrTesseract.Read(input);
  1. Problemy z orientacja: Kody QR pod katem mogą nie być prawidłowo dekodowane. Włącz wykrywanie rotacji stron, aby obsługiwac nieporawnie wyrównane dokumenty.

  2. Zaklocenia mieszanej zawartości: Tekst lub grafika nakladajace sie na kody QR mogą uniemożliwiac wykrycie. Uzyj obszarow przyciecia, aby odizolowac obszary kodow QR, gdy to konieczne.

Jak mogę poprawić dokładnosc rozpoznawania kodow QR?

Optymalizuj rozpoznawanie kodow QR za pomoca tych technik:

  1. Wstepne przetwarzanie obrazów: Uzyj kreatora filtrów, aby okreslic optymalne ustawienia poprawy jakosci:
// Enhanced QR code reading with preprocessing
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;

// Configure for better QR detection
var input = new OcrImageInput("document-with-qr.pdf");
input.TargetDPI = 300; // Ensure sufficient resolution
input.Binarize(); // Convert to black and white
input.DeNoise(); // Remove image artifacts

var result = ocrTesseract.Read(input);
  1. Obsluga wielu stron: W przypadku dokumentów wielostronicowych z kodami QR na wielu stronach:
// Process multi-page documents efficiently
using var pdfInput = new OcrPdfInput("multi-page-qr-document.pdf");
pdfInput.TargetDPI = 300;

var results = ocrTesseract.Read(pdfInput);
foreach (var page in results.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    foreach (var barcode in page.Barcodes)
    {
        Console.WriteLine($"  QR Code: {barcode.Value}");
        Console.WriteLine($"  Location: X={barcode.X}, Y={barcode.Y}");
    }
}
  1. Przetwarzanie asynchroniczne: Dla lepszej wydajności przy wielu dokumentach uzyj metod asynchronicznych:
// Asynchronous QR code reading
var result = await ocrTesseract.ReadAsync(imageInput);
  1. Debugowanie problemow z rozpoznawaniem: Włącz podswietlanie wynikow, aby zobaczyć, co IronOCR wykrywa:
result.SaveAsHighlightedImage("qr-detection-debug.png");

Optymalizacja wydajności dla przetwarzania kodow kreskowych na duza skale

Podczas przetwarzania tysięcy dokumentów z kodami kreskowymi i QR, wdroz te strategie optymalizacji:

  1. Wielowątkówosc: Wykorzystaj przetwarzanie wielowątkówe, aby obsługiwac wiele dokumentów jednoczesnie:
// Process multiple documents in parallel
var documents = new[] { "doc1.pdf", "doc2.pdf", "doc3.pdf" };
var results = documents.AsParallel().Select(doc =>
{
    var tesseract = new IronTesseract();
    tesseract.Configuration.ReadBarCodes = true;
    return tesseract.Read(new OcrPdfInput(doc));
}).ToList();
  1. Zarządzanie pamięcią: Używaj tokenow anulowania do operacji dlugotrwałych:
// Implement cancellation for large batch processing
using var cts = new CancellationTokenSource();
ocrTesseract.Configuration.CancellationToken = cts.Token;

// Cancel if processing takes too long
cts.CancelAfter(TimeSpan.FromMinutes(5));
  1. Eksport wynikow: Zapisuj wyniki jako przeszukiwalne pliki PDF, aby zachowac zarowno dane tekstowe, jak i kodow kreskowych:
// Export results with embedded barcode values
result.SaveAsSearchablePdf("output-with-barcodes.pdf");

Integracja z aplikacjami biznesowymi

Możliwosci kodow kreskowych IronOCR bezproblemowo integrują sie z istniejącymi aplikacjami .NET. Typowe scenariusze integracji obejmują:

  • Zarządzanie zapasami: Ekstrakcja kodow produktów z manifestow wysylkowych
  • Archiwizacja dokumentów: Indeksowanie zeskanowanych dokumentów poprzez osadzone identyfikatory kodow kreskowych
  • Przetwarzanie faktur: Dopasowanie kodow SKU do pozycji na dokumentach finansowych
  • Rekordy medyczne: Przetwarzanie kodow kreskowych z opasek pacjenta w połączeniu z formularzami medycznymi

Do aplikacji produkcyjnych przetwarzających duze ilosci kodow kreskowych i kodow QR, rozwaz wdrożenie sledzenia postepow, aby monitorowac stan przetwarzania i optymalizowac wydajność na podstawie rzeczywistych danych.

Często Zadawane Pytania

Jak wlaczyc odczytywanie kodow kreskowych w aplikacji C#?

W IronOCR wlacz odczytywanie kodow kreskowych przez ustawienie ReadBarCodes = true w TesseractConfiguration. To pojedyncze ustawienie aktywuje automatyczne wyciaganie wartosci kodow kreskowych z PDF-ow i obrazow razem z regularnym rozpoznawaniem tekstu, wspierajac ponad 20 formatow kodow kreskowych.

Czy moge odczytac jednoczesnie tekst i kody kreskowe z tego samego dokumentu?

Tak, IronOCR wykonuje podwojne wyciaganie - wychwytuje tekst czytelny dla ludzi przez standardowe OCR, jednoczesnie dekodujac kody kreskowe czytelne dla maszyn. Klasa OcrResult rozdziela te wyniki z tekstem dostepnym przez wlasciwosc Text i danymi kodow kreskowych przez kolekcje Barcodes.

Jakie formaty kodow kreskowych moga byc wykryte?

IronOCR wspiera ponad 20 formatow kodow kreskowych, w tym 1D (Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Codabar, ITF, MSI, Plessey) i 2D (QR Code, Data Matrix, i wiecej).

Jak wyodrebnic kody kreskowe z dokumentow PDF?

Utworz obiekt IronTesseract, ustaw ReadBarCodes na true, zaimportuj PDF uzywajac konstruktóra OcrPdfInput, nastepnie uzyj metody Read. IronOCR wykona OCR i wyodrebni wszystkie wykryte wartosci kodow kreskowych, ktore mozesz uzyskac przez kolekcje wynik.Barcodes.

Czy potrzebuje oddzielnych bibliotek do tekstu OCR i odczytu kodow kreskowych?

Nie, zintegrowane podejscie IronOCR eliminuje potrzebe wielokrotnych przetwarzania lub oddzielnych bibliotek. Wykonuje standardowe wyciaganie tekstu OCR, jednoczesnie dekodujac symbologie kodow kreskowych w jednej operacji.

How can I improve the accuracy of QR code recognition with IronOCR?

Improve QR code recognition by ensuring high resolution, applying image corrections like de-noising and sharpening, and handling orientation issues.

What are common challenges when reading QR codes with OCR?

Common challenges include resolution issues, image quality problems, orientation errors, and interference from overlapping text or graphics.

Can IronOCR handle multi-page PDF documents with barcodes?

Yes, IronOCR can process multi-page PDF documents with barcodes by reading each page individually and outputting detected barcode values and formats.

What is the benefit of using IronOCR for PDF text extraction and barcode reading?

Using IronOCR allows for unified text and barcode extraction from PDF documents, reducing the need for separate libraries and processing steps for each type of data.

How can IronOCR's barcode capabilities integrate into business applications?

IronOCR can be used in various business applications such as inventory management, document archiving, invoice processing, and healthcare records by extracting and processing barcode information.

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

Gotowy, aby rozpocząć?

Nuget Downloads 6,236,385Wersja: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 IronOcr
nuget.org/packages/IronOcr/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i szukaj „IronOCR”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz Instalator Windows tutaj.

  1. Pobierz i rozpakuj IronOCR do lokalizacji, takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy Odwołania. Wybierz Przeglądaj, „IronOCR.dll”

Licencje od 749 USD

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
Otrzymaj swoją Konsultację 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