IRONSOFTWAREHOME

How to Read Barcodes from Streams with C#

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: 4 czerwca 2026

IronBarcode odczytuje kody kreskowe bezpośrednio z obiektów MemoryStream w aplikacjach .NET, eliminując potrzebę zapisywania strumieni na dysk. Umożliwia to efektywne przetwarzanie kodów kreskowych z zarówno strumieni obrazów, jak i dokumentów PDF przechowywanych w pamięci.

MemoryStream to klasa .NET Framework, która czyta i zapisuje strumienie przechowywane w pamięci. Operuje danymi bez plików fizycznych, przechowując je w pamięci. Podejście to sprawdza się w aplikacjach webowych, API lub sytuacjach, gdy otrzymujesz dane kodów kreskowych jako tablice bajtów lub musisz przetwarzać obrazy bez tworzenia plików tymczasowych.

Oprócz czytania kodów kreskowych z plików obrazów lub plików PDF, IronBarcode również odczytuje kody kreskowe ze strumieni. Biblioteka przyjmuje dokumenty PDF lub strumienie obrazów jako dane wejściowe i zwraca wyniki odczytu kodów kreskowych. Ta funkcjonalność nadaje się do przetwarzania danych z baz danych, przesyłania przez internet lub treści przechowywanych w pamięci podręcznej.

Szybki start: Odczyt kodu kreskowego bezpośrednio z strumienia obrazu

Użyj dwóch linii kodu z IronBarcode, aby odczytać kody kreskowe z dowolnego strumienia obrazu - bez konieczności zapisywania na dysku. Ten przykład demonstruje odczyt kodu kreskowego opartego na strumieniach w .NET.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Skopiuj i uruchom ten fragment kodu.

    var result = IronBarCode.BarcodeReader.Read(myImageStream);
    Console.WriteLine(result[0].Text);
    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 odczytywać kody kreskowe ze strumieni obrazów?

Dlaczego używać strumieni pamięci zamiast plików?

Strumienie pamięci oferują kilka zalet w porównaniu z operacjami opartymi na plikach. Eliminują przeciążenie operacji dyskowych I/O, przyspieszając aplikacje. Zwiększają bezpieczeństwo, ponieważ wrażliwe dane kodów kreskowych nigdy nie trafiają na dysk. Również są odpowiednie dla środowisk chmurowych, gdzie dostęp do dysku jest ograniczony lub kosztowny. W połączeniu z asynchronicznymi i wielowątkowymi możliwościami IronBarcode, można przetwarzać wiele strumieni jednocześnie dla maksymalnej wydajności.

Ta sekcja pokazuje, jak używać IronBarcode do odczytu strumienia obrazów i wielu strumieni obrazów przechowywanych w List<MemoryStream>. Poniższy kod zawiera komentarze wyjaśniające proces:

Jakie formaty obrazów są obsługiwane?

IronBarcode obsługuje wiele formatów obrazów podczas odczytu ze strumieni: JPEG, PNG, GIF, TIFF, BMP i SVG. Ta elastyczność pozwala na przetwarzanie obrazów kodów kreskowych niezależnie od formatu źródłowego. Dla optymalnych wyników, użyj ustawień czytnika kodów kreskowych, aby dostosować proces odczytu.

using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.IO;

List<MemoryStream> list = new List<MemoryStream>();
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image3.png").ToStream());

var myBarcode = BarcodeReader.Read(list);

foreach (var barcode in myBarcode)
{
    Console.WriteLine(barcode.ToString());
}

Jak obsługiwać wiele strumieni obrazów?

Kod powyżej pokazuje, że IronBarcode akceptuje pojedynczy obiekt MemoryStream lub listę obiektów MemoryStream w metodzie BarcodeReader.Read(). Przykład konwertuje pliki obrazów na obiekty MemoryStream i odczytuje kody kreskowe bezpośrednio ze strumieni.

Podczas przetwarzania wielu strumieni, IronBarcode efektywnie korzysta z opcji prędkości odczytu. Dostosuj prędkość odczytu w zależności od potrzeb — czy wymaga to maksymalnej dokładności, czy najszybszego czasu przetwarzania. Dla odczytywania wielu kodów kreskowych z jednego strumienia, IronBarcode automatycznie wykrywa i zwraca wszystkie znalezione kody.

Dla zwiększenia dokładności z niedoskonałymi lub niskiej jakości obrazami w strumieniach stosuj filtry korekcji obrazów przed przetwarzaniem. To znacznie poprawia wskaźniki rozpoznawania kodów kreskowych.

Jak odczytywać kody kreskowe ze strumieni dokumentów PDF?

Dlaczego używać ReadPdf() zamiast Read()?

Metoda ReadPdf() optymalizuje się specjalnie dla dokumentów PDF, oferując przewagi nad ogólną metodą Read(). Efektywnie obsługuje funkcje specyficzne dla PDF, takie jak dokumenty wielostronicowe, grafika wektorowa i osadzone obrazy. Metoda automatycznie przetwarza wszystkie strony PDF i obsługuje różne formaty PDF oraz rodzaje kompresji. Dla pełnego zestawu funkcji, zobacz tutorial dotyczący czytania kodów kreskowych.

Ta sekcja demonstruje użycie IronBarcode do odczytu plików dokumentów PDF jako obiekty MemoryStream lub listy strumieni dokumentów PDF. Oto kod:

A co z wieloma dokumentami PDF?

using IronBarCode;
using IronPdf;
using System;
using System.IO;

MemoryStream document = PdfDocument.FromFile(@"file_path.pdf").Stream;

var myBarcode = BarcodeReader.ReadPdf(document);

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}

Jak efektywnie przetwarzać wiele strumieni PDF?

Odczyt kodów kreskowych z dokumentów PDF jako obiektów MemoryStream przypomina odczyt z obrazów. Kluczowa różnica to metoda: BarcodeReader.ReadPdf() obsługuje specyficznie dokumenty PDF. Przykład używa IronPDF do konwersji dokumentów PDF na obiekty MemoryStream.

Dla wielu dokumentów PDF, połącz wszystkie pliki PDF w jeden strumień dokumentów, zanim przekażesz go do BarcodeReader.ReadPdf(). To podejście przetwarza bardziej efektywnie niż obsługa każdego PDF osobno i zmniejsza przeciążenie pamięci. Skonfiguruj ustawienia czytnika kodów kreskowych specyficzne dla PDF, aby zoptymalizować odczyt dla twoich dokumentów.

Dla zaawansowanych scenariuszy, przetwarzaj konkretne strony lub regiony dokumentu PDF. IronBarcode pozwala na określenie zakresów stron i przycinanie regionów w obrębie stron, celując w obszary, gdzie pojawiają się kody kreskowe. To poprawia prędkość przetwarzania dużych dokumentów.

Podczas używania strumieni w produkcji, należy poprawnie pozbywać się obiektów MemoryStream, aby zapobiec wyciekom pamięci. Instrukcja using zapewnia automatyczne pozbywanie się:

using (MemoryStream pdfStream = new MemoryStream(pdfBytes))
{
    var results = BarcodeReader.ReadPdf(pdfStream);
    // Process results
}

Eksperymentuj i dostosuj bibliotekę do swoich specyficznych potrzeb. Elastyczne API IronBarcode pozwala na szeroką personalizację procesu odczytu, od regulacji czułości detekcji po określanie oczekiwanych formatów kodów kreskowych.

Często Zadawane Pytania

Jak odczytać kody kreskowe ze strumieni bez wcześniejszego zapisywania na dysku?

IronBarcode pozwala na odczytywanie kodów kreskowych bezpośrednio z obiektów MemoryStream bez zapisywania na dysku. Po prostu przekaż swój strumień do metody BarcodeReader.Read(). To podejście eliminuje zbędne operacje dyskowe i jest idealne do przetwarzania obrazów z przesłań internetowych, baz danych lub API.

Jakie formaty obrazów obsługuje czytnik kodów kreskowych podczas przetwarzania strumieni?

IronBarcode obsługuje wiele formatów obrazów podczas odczytu ze strumieni, w tym JPEG, PNG, GIF, TIFF, BMP i SVG. Ta elastyczność pozwala na przetwarzanie obrazów kodów kreskowych z różnych źródeł bez potrzeby konwersji formatu.

Czy mogę przetwarzać wiele strumieni obrazów kodów kreskowych jednocześnie?

Tak, IronBarcode obsługuje możliwości asynchroniczne i wielowątkowość, co pozwala na przetwarzanie wielu strumieni kodów kreskowych jednocześnie, co maksymalizuje wydajność. Jest to szczególnie przydatne podczas obsługi operacji odczytu kodów kreskowych z pamięci masowej.

Jakie są zalety używania strumieni pamięciowych w porównaniu do odczytu kodów kreskowych z plików?

Przetwarzanie strumieni pamięciowych za pomocą IronBarcode oferuje szybszą wydajność dzięki eliminacji operacji dyskowych, lepsze bezpieczeństwo, ponieważ dane wrażliwe nigdy nie trafiają na dysk, oraz lepszą kompatybilność z środowiskami chmurowymi, gdzie dostęp do dysku może być ograniczony lub kosztowny.

Jak mogę odczytać kody kreskowe z strumieni dokumentów PDF?

IronBarcode może odczytywać kody kreskowe zarówno z obrazów, jak i strumieni dokumentów PDF. Po prostu przekaż swój PDF MemoryStream do metody BarcodeReader.Read(), a ona wyodrębni i zdekoduje wszystkie kody kreskowe znalezione na stronach PDF.

Czy można dostosować proces odczytu kodów kreskowych podczas pracy ze strumieniami?

Tak, IronBarcode oferuje konfigurowalne ustawienia czytnika kodów kreskowych, które pozwalają optymalizować proces odczytu dla określonego przypadku użycia, niezależnie od tego, czy przetwarzasz pojedyncze strumienie, czy wiele strumieni przechowywanych w kolekcjach.

How do I manage multiple PDF streams for barcode reading with IronBarcode?

For multiple PDFs, merge them into a single document stream and process with `BarcodeReader.ReadPdf()`. This approach enhances efficiency by reducing processing overhead and memory usage.

What steps are involved in reading a barcode from an image stream using IronBarcode?

First, instantiate a `MemoryStream` for your image data, then call `BarcodeReader.Read()` on the stream. This simple process allows for direct barcode extraction from in-memory data.

How can IronBarcode handle image correction for low-quality images?

IronBarcode provides image correction filters, improving barcode recognition rates for imperfect or low-quality image streams, enhancing overall reading accuracy.

How do I ensure efficient memory usage when processing streams with IronBarcode?

Ensure to dispose of `MemoryStream` objects after use, ideally with a `using` statement to prevent memory leaks. This practice is crucial in production to maintain optimal performance.

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