How to Read Barcodes from Streams with C
IronBarcode, .NET uygulamalarındaki MemoryStream nesnelerinden barkodları doğrudan okur ve akışları önce diske kaydetme ihtiyacını ortadan kaldırır. Bu, bellekte depolanan hem görüntü hem de PDF belge akışlarından verimli barkod işlemeyi mümkün kılar.
MemoryStream, bellekte depolanan akışlardan okuma ve yazma işlemleri gerçekleştiren bir .NET Framework sınıfıdır. Fiziksel dosyalar olmadan veriyi işler, bunun yerine bellekte saklar. Bu yaklaşım, web uygulamaları, API'ler veya barkod verilerini bayt dizileri olarak aldığınız veya geçici dosyalar oluşturmadan görüntüleri işlemek istediğiniz senaryolarda iyi çalışır.
Görüntü dosyalarından barkod okuma veya PDF dosyalarından okuma yanında, IronBarcode aynı zamanda akışlardan da barkod okur. Kütüphane, PDF belge veya görüntü akışlarını giriş olarak kabul eder ve barkod okuma sonuçlarını çıkış verir. Yetenek, verileri veritabanlarından, web yüklemelerinden veya belleğe önbelleğe alınan içerikten işlemenize uygundur.
@@--AH2BG--@@Hızlı Başlangıç: Görüntü Akışından Doğrudan Barkod Okuyun@@--AH2EG@@
Herhangi bir görüntü akışından barkod okumak için IronBarcode ile iki satır kod kullanın—disk yazımı gerekmez. Bu örnek, .NET'te akış tabanlı barkod okumasını gösterir.
-
IronBarcode aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package BarCode -
Bu kod parçacığını kopyalayın ve çalıştırın.
var result = IronBarCode.BarcodeReader.Read(myImageStream); Console.WriteLine(result[0].Text); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın
Asgari İş Akışı (5 adım)
- Görüntü akışından barkodları okuyun
- PDF belge akışından barkodları okuyun
Görüntü Akışlarından Barkod Okumayı Nasıl Yaparım?
Neden Dosyalar Yerine Bellek Akışlarını Kullanmalıyım?
Bellek akışları, dosya tabanlı işlemlere göre birkaç avantaj sunar. Disk G/Ç yükünü ortadan kaldırır, uygulamaları hızlandırır. Hassas barkod verisi asla diske değmeden kaldığı için güvenliği artırır. Ayrıca disk erişiminin sınırlı veya pahalı olduğu bulut ortamlarına uygundur. IronBarcode'un eşzamanlı ve çoklu iş parçacığı desteği ile birleştirildiğinde, maksimum performans için birden fazla akışı aynı anda işleyebilirsiniz.
Bu bölümde, IronBarcode'u kullanarak bir List<MemoryStream> içinde depolanan bir görüntü akışını ve birden fazla görüntü akışını okumak için nasıl kullanılacağı gösterilmektedir. Aşağıdaki kod, süreci açıklayan yorumlar içerir:
Hangi Görüntü Formatları Destekleniyor?
IronBarcode, akışlardan okuma yaparken JPEG, PNG, GIF, TIFF, BMP ve SVG gibi birden fazla görüntü formatını destekler. Bu esneklik, kaynak formatta bağımsız olarak barkod görüntülerini işlemenize olanak tanır. En iyi sonuçlar için, okuma sürecini ince ayar yapmak için barkod okuyucu ayarlarını kullanın.
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;
class BarcodeFromImageStream
{
static void Main(string[] args)
{
// Create a list of MemoryStreams to store image streams
List<MemoryStream> imageStreams = new List<MemoryStream>
{
// Example of adding an existing MemoryStream object to the list
new MemoryStream(File.ReadAllBytes("example1.png")),
new MemoryStream(File.ReadAllBytes("example2.png"))
};
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-1.cs
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;
class BarcodeFromImageStream
{
static void Main(string[] args)
{
// Create a list of MemoryStreams to store image streams
List<MemoryStream> imageStreams = new List<MemoryStream>
{
// Example of adding an existing MemoryStream object to the list
new MemoryStream(File.ReadAllBytes("example1.png")),
new MemoryStream(File.ReadAllBytes("example2.png"))
};
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());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Imports System.IO
Friend Class BarcodeFromImageStream
Shared Sub Main(ByVal args() As String)
' Create a list of MemoryStreams to store image streams
Dim imageStreams As New List(Of MemoryStream) From {
New MemoryStream(File.ReadAllBytes("example1.png")),
New MemoryStream(File.ReadAllBytes("example2.png"))
}
Dim IronBarCode As using
Using IronSoftware.Drawing
Dim System As using
Using System.Collections.Generic
Using System.IO
Dim list As New List(Of MemoryStream)()
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream())
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream())
list.Add(AnyBitmap.FromFile("image3.png").ToStream())
Dim myBarcode = BarcodeReader.Read(list)
For Each barcode In myBarcode
Console.WriteLine(barcode.ToString())
Next barcode
End Using
End Using
End Using
Birden Fazla Görüntü Akışını Nasıl İşlerim?
Yukarıdaki kod, IronBarcode'un BarcodeReader.Read() yönteminde tek bir MemoryStream nesnesini veya MemoryStream nesnelerinin bir listesini kabul ettiğini göstermektedir. Örnek, görüntü dosyalarını MemoryStream nesnelerine dönüştürür ve BARCODE'ları doğrudan akışlardan okur.
Birden fazla akış işlerken, IronBarcode, okuma hız seçeneklerini verimli bir şekilde kullanır. İhtiyaçlarınıza göre okuma hızını ayarlayın—maksimum doğruluk gerektiriyorsanız veya en hızlı işleme zamanına ihtiyacınız varsa. Tek bir akıştan birden fazla barkod okuması için, IronBarcode tüm bulunan barkodları otomatik olarak algılar ve döndürür.
Akışlardaki kusurlu veya düşük kaliteli görüntülerde gelişmiş doğruluk için, işleme başlamadan önce görüntü düzeltme filtreleri uygulayın. Bu, barkod tanıma oranlarını önemli ölçüde iyileştirir.
PDF Belge Akışlarından Barkodları Nasıl Okurum?
Neden Read() yerine ReadPdf() kullanmalı?
ReadPdf() yöntemi, özellikle PDF belgeleri için optimize edilmiştir ve genel Read() yöntemine göre avantajlar sunar. Çok sayfalı belgeler, vektör grafikler ve gömülü görüntüler gibi PDF'ye özgü özellikleri verimli bir şekilde işler. Yöntem, tüm PDF sayfalarını otomatik olarak işler ve çeşitli PDF formatlarını ve sıkıştırma türlerini ele alır. Kapsamlı özellikler için barkod okuma eğitimine bakın.
Bu bölümde, IronBarcode kullanılarak PDF belge dosyalarının MemoryStream nesneleri veya PDF belge akışları listeleri olarak okunması gösterilmektedir. İşte kod:
Birden Fazla PDF Belgesi Nasıl İşlenir?
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs
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());
}
Imports IronBarCode
Imports IronPdf
Imports System
Imports System.IO
Private document As MemoryStream = PdfDocument.FromFile("file_path.pdf").Stream
Private myBarcode = BarcodeReader.ReadPdf(document)
For Each value In myBarcode
Console.WriteLine(value.ToString())
Next value
Birden Fazla PDF Akışını Etkili Bir Şekilde Nasıl İşlerim?
PDF belgelerinden MemoryStream nesneleri olarak BARCODE'ları okumak, görüntülerden okumaya benzer. Temel fark, yöntemdedir: BarcodeReader.ReadPdf() özellikle PDF belgelerini işler. Örnekte, PDF belgelerini MemoryStream nesnelerine dönüştürmek için IronPDF kullanılmaktadır.
Birden fazla PDF belgesi varsa, tüm PDF'leri tek bir belge akışında birleştirin ve ardından BarcodeReader.ReadPdf()'ye aktarın. Bu yaklaşım, her bir PDF'yi ayrı ayrı işlemeye göre daha verimli işlem yapar ve bellek yükünü azaltır. PDF belgelerinizi optimize etmek için PDF'ye özgü barkod okuyucu ayarlarını yapılandırın.
Gelişmiş senaryolar için, belirli sayfaları veya PDF bölgelerini işleyin. IronBarcode sayfa aralıkları ve sayfa içindeki bölge kırpma işlemleri belirlemenize izin verir, barkodların göründüğü alanları hedefler. Bu, büyük belgeler için işleme hızını artırır.
Üretimde akışları kullanırken, bellek sızıntılarını önlemek için MemoryStream nesnelerini uygun şekilde imha edin. using ifadesi otomatik imhayı sağlar:
using (MemoryStream pdfStream = new MemoryStream(pdfBytes))
{
var results = BarcodeReader.ReadPdf(pdfStream);
// Process results
}
using (MemoryStream pdfStream = new MemoryStream(pdfBytes))
{
var results = BarcodeReader.ReadPdf(pdfStream);
// Process results
}
Imports System.IO
Using pdfStream As New MemoryStream(pdfBytes)
Dim results = BarcodeReader.ReadPdf(pdfStream)
' Process results
End Using
Kütüphaneyi ihtiyaçlarınıza göre deneme ve uyarlama yapın. IronBarcode'un esnek API'si, algılama hassasiyetini ayarlamaktan beklenen barkod formatlarını belirtmeye kadar kapsamlı okuma süreci özelleştirmesine izin verir.
Sıkça Sorulan Sorular
Diskte kaydedilmeden önce akışlardan barkodları nasıl okuyabilirim?
Diskte kaydetmek zorunda kalmadan, IronBarcode MemoryStream nesnelerinden doğrudan barkod okuyabilmenizi sağlar. Siz sadece akışınızı BarcodeReader.Read() yöntemine geçirin. Bu yaklaşım, disk G/Ç yükünü ortadan kaldırır ve web yüklemeleri, veritabanları veya API'lerden gelen görüntüleri işlerken idealdir.
Akışları işlerken barkod okuyucu hangi resim formatlarını destekliyor?
IronBarcode, JPEG, PNG, GIF, TIFF, BMP ve SVG gibi birçok resim formatını akışlardan okurken destekler. Bu esneklik, barkod görüntülerini format dönüşümü olmadan çeşitli kaynaklardan işlemenize olanak tanır.
Birden fazla barkod görüntü akışını eşzamanlı olarak işleyebilir miyim?
Evet, IronBarcode asenkron ve çok iş parçacıklı yetenekleri destekler ve böylece maksimum performans için birden fazla barkod akışını eşzamanlı olarak işleyebilirsiniz. Bu, özellikle bellekteki toplu barkod okuma işlemlerini yürütürken faydalıdır.
Barkod okumada bellek akışlarını dosya tabanlı okuma ile karşılaştırmanın avantajları nelerdir?
IronBarcode ile bellek akışları işlemek, disk G/Ç yükünü ortadan kaldırarak daha hızlı performans sağlar, hassas verilerin disk depolamaya asla temas etmemesi nedeniyle geliştirilmiş güvenlik ve veri erişiminin sınırlı veya pahalı olabileceği bulut ortamları ile daha iyi uyumluluk sunar.
PDF belge akışlarından barkodları nasıl okuyabilirim?
IronBarcode, hem görüntü hem de PDF belge akışlarından barkod okuyabilir. PDF MemoryStream'inizi BarcodeReader.Read() yöntemine geçirmeniz yeterlidir ve PDF sayfalarındaki tüm mevcut barkodları çıkarır ve çözer.
Akışlarla çalışırken barkod okuma sürecini ince ayar yapabilir miyim?
Evet, IronBarcode ihtiyaçlarınıza göre okuma sürecini optimize etmenize olanak tanıyan özelleştirilebilir barkod okuyucu ayarları sağlar. Tekli akışları veya koleksiyonlarda depolanan birden fazla akışı işlerken kullanılabilir.
IronBarcode barkod görünümünü özelleştirme desteği sağlıyor mu?
Evet, IronBarcode, barkod görünümünü özelleştirmek için renk, boyut ve metin notları gibi geniş seçenekler sunar, bu da barkodları belirli tasarım gereksinimlerinize göre uyarlamanıza imkan tanır.
IronBarcode, iş süreçlerindeki verimliliği artırmaya nasıl yardımcı olabilir?
IronBarcode, hızlı ve doğru barkod üretimi ve okuma yeteneği sağlayarak, manuel veri girişi hatalarını azaltır ve envanter ile varlık takibini iyileştirerek iş süreçlerinin verimliliğini artırır.
Bir projede IronBarcode'u uygulamak için hangi programlama becerileri gereklidir?
IronBarcode'u bir projede uygulamak için temel C# programlama bilgisi yeterlidir, çünkü bu kütüphane, geliştiricilere rehberlik eden basit yöntemler ve kapsamlı belgeler sağlar.
IronBarcode, hem küçük projeler hem de büyük kurumsal uygulamalar için uygun mu?
IronBarcode, küçük projeler kadar geniş çaplı kurumsal uygulamalar için de uygun, ölçeklenebilir ve çok yönlü olacak şekilde tasarlanmıştır ve sağlam barkod çözümleri gerektiren uygulamalara hizmet eder.

