IronBarcode ile C#'da Veri Formatlarını Çıkarma
IronBarcode, BarcodeImage, BarcodeType, BinaryValue, koordinatlar, boyutlar, sayfa numaraları, yönlendirme, metin ve değer özellikleri dahil olmak üzere BARCODE okumalarından elde edilen çok sayıda çıktı formatı sunar. Bu formatlar, çeşitli kullanım durumları için BarCode verilerinin programlı olarak işlenmesini sağlar.
IronBarcode, sadece BarCode'u okuyup konsolda değerleri PRINT etmek yerine çok daha fazlasını sunar. Kullanıcıların okuma sonuçlarını işlemesine olanak tanıyan çeşitli çıktı formatları sunar. Bu biçimler arasında BARCODE görüntüsü, BARCODE türü, BinaryValue, koordinatlar, yükseklik, genişlik, sayfa numarası, BARCODE, sayfa yönü, text ve value gibi özellikler bulunur.
Kullanıcılar, program içinde bu özellikleri daha da değiştirebilir. Bu özelliklerin nasıl kullanıldığını ve hangi durumlarda faydalı olabileceğini inceleyelim.
Hızlı Başlangıç: Tek Satırda BarCode Değerini ve Türünü Okuma
Bu örnek, IronBarcode kullanarak bir görüntüden BARCODE'un nasıl okunacağını gösterir – tek satırla yükleme yapılır, ardından BARCODE'un değeri ve türü hemen PRINT edilir. Hızlı bir başlangıç için mükemmeldir. Daha kapsamlı örnekler için BarCode Hızlı Başlangıç kılavuzuna göz atın.
-
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("input.png"); Console.WriteLine($"Value: {result[0].Value}, Type: {result[0].BarcodeType}"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın
Minimal İş Akışı (5 adım)
- BarCode okumak için C# kütüphanesini indirin
- BarCode algılama için PDF ve görüntüyü hazırlayın
- Algılanan BarCode türüne ve görüntüsüne erişin
- Retrieve the BARCODE
xveykoordinatlarını veheightvewidth - BarCode'un
textvevalue
Mevcut Çıktı Biçimleri ve Kullanım Alanları Nelerdir?
BarcodeResult çeşitli yararlı özellikleri depolar. Bu özellikler aşağıda listelenmiştir:
BarcodeImageBarcodeTypeBinaryValue- Koordinatlar,
Height&Width PageNumberBarcodevePageOrientationText&Value
Her bir özellik, BarCode işleme iş akışlarında belirli amaçlara hizmet eder. İster bir envanter yönetim sistemi, ister belge işleme boru hattı veya kalite kontrol uygulaması oluşturuyor olun, bu veri formatları çeşitli kaynaklardan BARCODE'ları okumak için gereken esnekliği sağlar.
BarCode Görüntülerini Nasıl Çıkarabilir ve Kaydedebilirim?
IronBarcode bir görüntüyü okuduktan sonra, görüntüde bulunan BARCODE'lar BarcodeResult içinde BarcodeImage türünde AnyBitmap özelliği olarak saklanır. BarcodeImage özelliği, bulunan BarCode görüntülerini depolar. Kullanıcılar, görüntüyü daha fazla işlemek veya kalıcı bir kopya olarak kaydetmek için bu nesneyi alabilirler. Bu, bir görüntüden BARCODE görüntülerini çıkarmak için ek kod gerekliliğini ortadan kaldırarak verimlilik ve kullanım kolaylığı sağlar.
Bu çıktı formatı için olası bir kullanım örneğini gösteren aşağıdaki kod parçasını inceleyin:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeImage.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read barcode from PDF file
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Create list for barcodes
List<AnyBitmap> barcodeList = new List<AnyBitmap>();
foreach (BarcodeResult barcode in result)
{
barcodeList.Add(barcode.BarcodeImage);
}
// Create multi-page TIFF
AnyBitmap.CreateMultiFrameTiff(barcodeList).SaveAs("barcodeImages.tif");
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Read barcode from PDF file
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Create list for barcodes
Private barcodeList As New List(Of AnyBitmap)()
For Each barcode As BarcodeResult In result
barcodeList.Add(barcode.BarcodeImage)
Next barcode
' Create multi-page TIFF
AnyBitmap.CreateMultiFrameTiff(barcodeList).SaveAs("barcodeImages.tif")
Yukarıdaki kod parçacığı, bu çıktı formatının bir kullanım örneğini göstermektedir. Özellikle, bir PDF belgesinde tespit edilen BarCode'lardan çok sayfalı bir TIFF görüntüsü oluşturur. İlk olarak, örnek PDF'deki BARCODE'ları tarar veya algılarız. Ardından, AnyBitmap özelliğinden gelen bilgileri depoladığımız bir BarcodeImage listesi oluştururuz. Son olarak, bu listeyi CreateMultiFrameTiff yöntemini kullanarak çok sayfalı bir TIFF dosyası oluşturmak için kullanıyoruz. Bu teknik, özellikle çok sayfalı GIF ve TIFF dosyalarını işlerken kullanışlıdır.
BarcodeImage özelliği, BarcodeResult'den yalnızca okuma sırasında bulunan BARCODE'lerin görüntülerini depolar, giriş görüntüsünün tamamını değil.
Farklı BarCode türlerini programlı olarak nasıl tanımlayabilirim?
Bu özellik, giriş görüntüsünde veya belgede hangi tür BarCode bulunduğunu belirlemeye yardımcı olur. Ancak, görüntüdeki BARCODE türünün IronBarcode tarafından desteklenmesi ve okunabilir olması gerekir. IronBarcode'da desteklenen BARCODE türleri hakkında daha fazla bilgi için bu makaleye bakın. Ayrıca, özel gereksinimlerinizle uyumluluğu sağlamak için desteklenen BarCode formatlarının tam listesini inceleyin.
Aşağıdaki kod parçacığı, değerleri konsola yazdırarak bir görüntüdeki BARCODE değerlerini ve BARCODE türünü nasıl alabileceğinizi gösterir.
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeType.cs
using IronBarCode;
using System;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("bc3.png");
// Output barcode type to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine("The barcode value is " + barcode.ToString() + " and the barcode type is " + barcode.BarcodeType);
}
Imports IronBarCode
Imports System
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("bc3.png")
' Output barcode type to console
For Each barcode As BarcodeResult In result
Console.WriteLine("The barcode value is " & barcode.ToString() & " and the barcode type is " & barcode.BarcodeType)
Next barcode
Yukarıdaki kod parçacığından, giriş görüntüsünde BarcodeReader.Read() yöntemini çağırarak BARCODE okuma işlemi gerçekleştiriyoruz. Bu, görüntüdeki tüm BARCODE'leri okuyarak tüm BarcodeResult'leri depolayan bir BarcodeResults nesnesi döndürür. Ardından, BarcodeResults nesnesini yineleyerek BarcodeResult değerini alır ve value ile type BARCODE'larını konsola yazdırırız. Bu yaklaşım, Code 39 BARCODE'ları gibi özel formatlar da dahil olmak üzere çeşitli BARCODE türleriyle sorunsuz bir şekilde çalışır.
İkili Değer Çıkışını Ne Zaman Kullanmalıyım?
Using IronBarcode, users can retrieve the barcode byte array value by accessing the BinaryValue property from the BarcodeResult object. Bu, kullanıcıların programın içinde value BarCode'unu daha fazla işleyebilmesini sağlar. İkili value çıktısı, şifrelenmiş verilerle, BarCode ile kodlanmış dosya ekleriyle çalışırken veya bayt düzeyinde veri işleme gerektiren sistemlerle entegrasyon yaparken özellikle kullanışlıdır.
Aşağıdaki kod parçacığı, value BARCODE'unu ikili veri olarak almanın bir kullanım örneğini göstermektedir:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BinaryValue.cs
using IronBarCode;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");
int i = 1;
foreach (BarcodeResult barcode in result)
{
var binaryValue = barcode.BinaryValue;
var barcodeType = IronBarCode.BarcodeEncoding.QRCode;
// Create QR code
GeneratedBarcode generatedBarcode = BarcodeWriter.CreateBarcode(binaryValue, barcodeType);
// Export QR code
generatedBarcode.SaveAsPng($"qrFromBinary{i}.png");
i++;
}
Imports IronBarCode
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("multiple-barcodes.png")
Private i As Integer = 1
For Each barcode As BarcodeResult In result
Dim binaryValue = barcode.BinaryValue
Dim barcodeType = IronBarCode.BarcodeEncoding.QRCode
' Create QR code
Dim generatedBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(binaryValue, barcodeType)
' Export QR code
generatedBarcode.SaveAsPng($"qrFromBinary{i}.png")
i += 1
Next barcode
Yukarıdaki kod parçasını incelediğimizde, bir görüntüdeki birden fazla BarCode'u ayrı ayrı yeni ikili kodlu dosyalara dönüştüren basit bir program oluşturduğumuzu görüyoruz. İlk olarak, örnek PNG görüntüsündeki BARCODE'ları tarıyoruz. Bu BARCODE'ları tespit ettikten sonra, bunları tek tek inceler, BinaryValue özelliğine erişir ve bunu kullanarak yeni ikili dosyalar oluştururuz. Bu teknik, birden fazla BARCODE'u okumanız ve ikili verilerini ayrı ayrı işlemeniz gerektiğinde özellikle değerlidir.
BarCode'un Konumuna ve Boyutlarına Nasıl Erişebilirim?
Kullanıcıların erişebileceği BarcodeResult nesnesinin bir başka özelliği de X1, Y1 ve X2, Y2'nin yanı sıra bir görüntü dosyası veya belge içindeki Height ve Width'dir. Bu özellikler, kullanıcıların BARCODE'un konumu ve boyutları hakkında bilgi alması gerektiğinde kullanışlıdır. Bu uzamsal bilgiler, otomatik belge işleme, kalite kontrol sistemleri gibi hassas konumlandırma gerektiren uygulamalar veya optimize edilmiş BarCode taraması için kırpma bölgeleri uygulandığında çok önemlidir.
BarCode'un konumunu ve boyutlarını gösterelim.
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-height-width.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Linq;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");
AnyBitmap bitmap = AnyBitmap.FromFile("multiple-barcodes.png");
foreach (BarcodeResult barcode in result)
{
PointF[] barcodePoints = barcode.Points;
float x1 = barcodePoints.Select(b => b.X).Min();
float y1 = barcodePoints.Select(b => b.Y).Min();
Rectangle rectangle = new Rectangle((int)x1, (int)y1, (int)barcode.Width!, (int)barcode.Height!);
bitmap = bitmap.Redact(rectangle, Color.Magenta);
// Save the image
bitmap.SaveAs("redacted.png", AnyBitmap.ImageFormat.Png);
}
Imports System
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Linq
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("multiple-barcodes.png")
Private bitmap As AnyBitmap = AnyBitmap.FromFile("multiple-barcodes.png")
For Each barcode As BarcodeResult In result
Dim barcodePoints() As PointF = barcode.Points
Dim x1 As Single = barcodePoints.Select(Function(b) b.X).Min()
Dim y1 As Single = barcodePoints.Select(Function(b) b.Y).Min()
'INSTANT VB TODO TASK: There is no VB equivalent to the C# 'null-forgiving operator':
'ORIGINAL LINE: Rectangle rectangle = new Rectangle((int)x1, (int)y1, (int)barcode.Width!, (int)barcode.Height!);
Dim rectangle As New Rectangle(CInt(Math.Truncate(x1)), CInt(Math.Truncate(y1)), CInt(barcode.Width), CInt(barcode.Height))
bitmap = bitmap.Redact(rectangle, Color.Magenta)
' Save the image
bitmap.SaveAs("redacted.png", AnyBitmap.ImageFormat.Png)
Next barcode

Düzenlemeden önce

Düzenlemeden sonra
Yukarıdaki kod parçacığı, bir görüntü dosyasında bulunan birden fazla BARCODE'u gizler. Bunu başarmak için IronBarcode ve IronDrawing adlı iki kütüphaneyi bir arada kullanıyoruz. BarcodeResult nesnesini almak ve özelliklerini ayıklamak için, önce BarcodeReader.Read() yöntemini kullanarak bir görüntü dosyasında bulunan BARCODE'ları okuruz. Aynı zamanda, resme redaksiyon yöntemini uygulamak için giriş resim dosyasının bir AnyBitmap nesnesine dönüştürülmesi gerekir. BarcodeResults nesnesini elde ettikten sonra, bir döngü uygulayıp bu nesneyi yineleyerek resimde bulunan her barkodun X1, Y1, Width ve Height değerlerini elde edebilir ve bunları CropRectangle yönteminin AnyBitmap.Redact() özelliklerinde kullanabiliriz.
Çok Sayfalık Belgelerde Sayfa Numarası Neden Önemlidir?
Kullanıcılar, BarCode'un bulunduğu sayfa numarasını alabilirler. Bu, birden fazla BarCode içeren çok sayfalı bir belge kullanan ve daha ileri işlemler için belgede bulunan BarCodes'un konumunu bilmesi gereken kullanıcılar için yararlı bir özelliktir. Bu işlevsellik, PDF belgelerinden BarCode'ları okurken veya Enterprise uygulamalarında toplu belgeleri işlerken çok önemlidir.
Aşağıdaki kod parçasına bakın:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-page-number.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Output page number to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine("The barcode value " + barcode.ToString() + " is found on page number " + barcode.PageNumber);
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Output page number to console
For Each barcode As BarcodeResult In result
Console.WriteLine("The barcode value " & barcode.ToString() & " is found on page number " & barcode.PageNumber)
Next barcode
Yukarıdaki kod parçacığı, kullanıcıların programdan çok sayfalı bir PDF belgesinde bulunan BARCODE'lerin value numaralarını ve ilgili sayfa numaralarını döndürmesini istediği bir kullanım örneğini göstermektedir. Kod, çok sayfalı bir PDF belgesindeki BarCode'ları okumak için BarcodeReader.ReadPdf() yöntemini kullanır; bu yöntem, belgede bulunan her BarcodeResult öğesini depolayan BarcodeResults nesnesini döndürür. Bir döngü uygulayarak nesnedeki her bir öğeyi tek tek tarar ve BarCode'ların value değerini ve BarCode'ların bulunduğu sayfa numarasını alırız. Bu kullanım örneğinin yanı sıra, kullanıcılar bu özelliği, bir belgedeki tüm BARCODE'ların okunup okunmadığını kontrol etmek için de kullanabilirler.
BarCode Dönüşünü ve Sayfa Yönünü Nasıl Algılarım?
Using IronBarcode, users can retrieve information about the barcode orientation and the orientation of the page where the barcode was found. Bu iki bilgiyi çıkarmak için, BarcodeResult nesnesinden Rotation ve PageOrientation özelliklerine erişin. Rotation, bulunan BARCODE'un dönme açısını temsil eden bir tamsayı döndürür. Bu özellik, tarama açısına bakılmaksızın doğru BarCode okuma sağlamak için görüntü yönlendirme düzeltme yetenekleriyle birlikte çalışır.
Aşağıdaki kod parçasına bakın:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-orientation.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Output page orientation and rotation to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine(barcode.Value);
Console.WriteLine(barcode.PageOrientation);
Console.WriteLine(barcode.Rotation);
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Output page orientation and rotation to console
For Each barcode As BarcodeResult In result
Console.WriteLine(barcode.Value)
Console.WriteLine(barcode.PageOrientation)
Console.WriteLine(barcode.Rotation)
Next barcode
Yukarıdaki kod parçacığı, kullanıcıların sırasıyla pageOrientation ve rotation kodlarını alarak sayfa yönünü ve BARCODE dönüşünü alabileceğini kanıtlamak için ekli örnek PDF girdisiyle çalıştırılmıştır. Bu özellik, esas olarak hata ayıklama amacıyla kullanışlıdır.
BarcodeResult.PageOrientation, BarcodeResult.Rotation, 0, 90, 180 ve 270 derece olan barkodları okuyabilir. BarCode belirtilenler dışındaki bir döndürme değeri varsa, IronBarcode herhangi bir değer döndürmez. PageOrientation, PageOrientation nesnesini döndürür; bu nesne Portrait veya Landscape'den oluşur.Metin ve Değer Özellikleri Arasındaki Fark Nedir?
Elbette, kullanıcıların IronBarcode'u kullanırken elde etmek isteyecekleri temel özellik, value ve text'dir. Bu iki özellik genellikle birbirinin yerine kullanılır ve aynı value sonucunu verir. Bunun dışında, kullanıcılar aynı sonucu elde etmek için BarcodeResult.ToString() yöntemini kullanabilirler. Özel uygulamalarla çalışırken veya BarCode verilerini akış olarak dışa aktarırken, bu özellikler BarCode içeriğine tercih ettiğiniz biçimde erişmek için esnek yollar sunar.
Aşağıdaki kod parçacığı bunu göstermektedir:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-text-value.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("barcodestamped3.pdf");
// Output text value to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine(barcode.Value);
Console.WriteLine(barcode.Text);
Console.WriteLine(barcode.ToString());
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("barcodestamped3.pdf")
' Output text value to console
For Each barcode As BarcodeResult In result
Console.WriteLine(barcode.Value)
Console.WriteLine(barcode.Text)
Console.WriteLine(barcode.ToString())
Next barcode
Yukarıdaki kod parçacığından da görüldüğü gibi, kullanıcıların IronBarcode kullanarak bir görüntüdeki barkodları okumak için sadece birkaç satır kod yazması yeterlidir. BarcodeReader.Read() yöntemi tarafından döndürülen BarcodeResults öğesini yineledikten sonra, Value ve Text özelliklerini elde etmenin sonucunu konsola yazdırırız; ayrıca BarcodeResult.ToString() yöntemini çağırarak tüm bunların aynı value değerini döndürdüğünü gösteririz.
Kısacası, IronBarcode, kullanıcıların BARCODE yazma ve kod çözme ile sınırlı kalmayıp BARCODE ile ilgili birçok işlemi gerçekleştirmeleri için mükemmel bir API'dir. Çeşitli çıktı veri formatları desteklendiğinden, kullanıcılar IronBarcode tarafından döndürülen BarcodeResult nesnesiyle çok daha fazlasını yapabilirler.
Sıkça Sorulan Sorular
C# barkod okuma hangi çıktı formatlarını destekler?
IronBarcode, BarcodeImage, BarcodeType, BinaryValue, koordinatlar, boyutlar, sayfa numaraları, yönelim, metin ve değer özellikleri dahil olmak üzere birden fazla çıktı formatı sunar. Bu formatlar, çeşitli .NET uygulamaları için kapsamlı barkod veri işlemesine olanak tanır.
Bir barkod değerini sadece bir satırda nasıl okuyabilirim?
IronBarcode ile, tek bir satır kullanarak barkod okuyabilirsiniz: var result = IronBarCode.BarcodeReader.Read('input.png'); Bu, sonuç[0].Value ve sonuç[0].BarcodeType ile barkodun değerine ve türüne anında erişim sağlar.
BarcodeResult'da hangi özellikler mevcuttur?
IronBarcode'daki BarcodeResult nesnesi, barkod işleme iş akışları için kapsamlı veri sağlayan BarcodeImage, BarcodeType, BinaryValue, Koordinatlar, Yükseklik & Genişlik, Sayfa Numarası, Barkod, Sayfa Yönelimi, Metin ve Değer gibi özelliklere sahiptir.
Okuduktan sonra barkod görüntülerini çıkarıp kaydedebilir miyim?
Evet, IronBarcode tarafından bulunan barkodlar, BarcodeImage özelliğinde AnyBitmap nesneleri olarak saklanır. Bu nesneyi, görüntüyü daha fazla işlemek veya kalıcı bir kopya olarak kaydetmek için alabilirsiniz, bu da barkod görüntülerini çıkarmak için ek kod ihtiyacını ortadan kaldırır.
Barkod koordinatlarına ve boyutlarına nasıl erişirim?
IronBarcode, her tespit edilen barkod için x ve y pozisyonları ile yükseklik ve genişlik boyutlarını içeren koordinat verileri sağlar. Bu özellikler, BarcodeResult nesnesi aracılığıyla hassas barkod yer belirlemesi için erişilebilir.
Metin ve Değer özellikleri arasındaki fark nedir?
IronBarcode'da, hem Metin hem de Değer özellikleri, barkodun veri içeriğini barındırır. Bu özellikler, çözümlenmiş barkod bilgilerini almak için birbirlerinin yerine kullanılabilecek BarcodeResult nesnesinin bir parçasıdır.
Bir barkodun hangi sayfada bulunduğunu belirleyebilir miyim?
Evet, IronBarcode, çok sayfalı bir belge veya PDF'nin tam olarak hangi sayfasında her tespit edilen barkodun bulunduğunu belirlemenizi sağlayan BarcodeResult nesnesinde bir Sayfa Numarası özelliği içerir.
Tespit edilen barkod türünü nasıl belirlerim?
IronBarcode'nun BarcodeResult nesnesindeki BarcodeType özelliği, tespit edilen belirli barkod formatını (örneğin QR Kodu, Kod 128 vb.) tanımlar ve bu da uygulamanızda format özgü işlemleri etkinleştirir.
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.

