# C# İle IronOCR Kullanarak Okuma Sonuçları Nasıl Çıkarılır
IronOCR'nin `Read` metodu, her tespit edilen eleman için çıkarılan metin ile birlikte, kesin koordinatlar, boyutlar, metin yönü ve hiyerarşik yapı (paragraflar, satırlar, kelimeler, karakterler) gibi ayrıntılı meta verileri içeren bir `OcrResult` nesnesi döndürür.
OCR sonucu, algılanan paragraflar, satırlar, kelimeler ve bireysel karakterler hakkında kapsamlı bilgi içerir.
Her bir eleman için, metin içeriğini, kesin X ve Y koordinatlarını, boyutları (genişlik ve yükseklik), metin yönünü (Soldan Sağa veya Yukarıdan Aşağıya) ve bir [`CropRectangle`](/open-source/csharp/drawing/examples/convert-measurement-unit-of-croprectangle/) nesnesindeki konumunu sağlar.
*as-heading:2(Hızlı Başlangıç: İlk Algılanan Kelimenin Metnini Getirin)*
`IronTesseract`'nın `Read` metodunu kullanarak bir resmi OCR yapabilir ve ilk kelimenin metnini `Kelimes` koleksiyonunu kullanarak çıkarabilirsiniz.
```cs
:title=Read OCR Results Instantly
string wordText = new IronTesseract().Read("file.jpg").Kelimes[0].Text;
```
<div class="hsg-featured-snippet">
<h3>Asgari İş Akışı (5 adım)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronOcr/">Okuma sonuçlarına erişmek için bir C# kütüphanesi indirin</a></li>
<li>Hedef görüntüyü ve PDF belgesini hazırlayın</li>
<li><code>Read</code> metodunu içe aktarılan belge üzerinde OCR yapmak için kullanın</li>
<li>Sonuçların <code>X</code>, <code>Y</code>, <code>genişlik</code>, <code>yükseklik</code> ve <code>metin yönü</code> bilgilerine erişebilirsiniz.</li>
<li>Algılanan paragrafları, satırları, kelimeleri ve karakter karşılaştırmalarını kontrol edin</li>
</ol>
</div>
## OCR Sonuçlarından Hangi Verileri Çıkarabilirim?
Sonuç değeri, çıkarılan metinden yanı sıra, IronOCR tarafından PDF ve görüntü belgelerinde keşfedilen sayfalar, paragraflar, satırlar, kelimeler, karakterler ve barkodlar hakkında bilgileri de içerir. Bu bilgiyi, döndürülen [OcrResult nesnesinden](https://ironsoftware.com/csharp/ocr/examples/results-objects/) `Read` metodunu kullanarak erişebilirsiniz.
IronOCR'un kapsamlı sonuç sistemi, geliştiricilere basit metin tanımanın ötesinde yapılandırılmış veri çıkarma yetenekleri sağlayan güçlü [Tesseract 5 motoru](https://ironsoftware.com/csharp/ocr/tutorials/c-sharp-tesseract-ocr/) üzerine inşa edilmiştir. [Taranmış belgeleri](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/), [fotoğrafları](https://ironsoftware.com/csharp/ocr/examples/read-photo/) veya [ekran görüntülerini](https://ironsoftware.com/csharp/ocr/examples/read-screenshot/) işlerken, `OcrResult` sınıfı, çıkarılan veriler üzerinde ayrıntılı kontrol sağlar.
```csharp
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/result.webp" alt="Japonca iş belgesinden koordinatlar ve metin ile OCR çıkartma sonuçlarını gösteren Visual Studio hata ayıklayıcı" class="img-responsive add-shadow" />
</div>
</div>
### OCR Sonuçlarından Metin İçeriğine Nasıl Erişirim?
`OcrResult` nesnesi, çıkartılan metni basit ve sezgisel bir şekilde sunar, geliştiricilerin bunu doğrudan kullanmalarına veya diğer uygulama bileşenlerine entegre etmelerine olanak tanır. Hiyerarşik yapı, doğal belge metin organizasyonunu yansıtarak, farklı ayrıntı düzeylerinde içeriği kolayca çalışmanızı sağlar.
Birden fazla dil desteği gerektiren uygulamalar için, IronOCR çok dilli belgeleri sorunsuzca işler ve [125 desteklenen dil](https://ironsoftware.com/csharp/ocr/examples/intl-languages/) arasında aynı yapılandırılmış sonuç formatını korur.
Aşağıdaki kod örneği, sonuçları doğrulamak için bir döngüde metni bastırır.
```csharp
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
// Print the text of the current paragraph
Console.WriteLine(paragraph.Text);
// Add a blank line for better separation (optional)
Console.WriteLine();
}
```
#### Çıktı
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/result-text-output.webp" alt="Masayoshi Son ve Yasumitsu Shigeta hakkında çıkarılan metni içeren OCR paragraf algılama sonuçlarını gösteren terminal" class="img-responsive add-shadow" />
</div>
</div>
Console çıktısı, IronOCR'un paragraf metnini hassasiyetle satır satır çıkardığını gösteriyor. Motor, paragraf sınırlarını otomatik olarak algılar ve çoklu metin bloklarına sahip karmaşık belgeleri işlemek için idealdir.
### Tespit Edilen Metnin Konum Koordinatlarını Nasıl Alabilirim?
Çıkarılan metne ek olarak, `OcrResult` ayrıntılı konum verileri sağlar. Bu konumsal bilgi, düzen sadakatini korumak veya belgelerin belirli bölgelerinden hedeflenmiş metin çıkarımı yapmak isteyen uygulamalar için önemlidir. Koordinat sistemi, sayfanın sol üst köşesinden standart piksel ölçümlerini kullanır.
Koordinat tabanlı işlemlerde daha yüksek hassasiyet için, belirli alanlara odaklanmak için [OCR bölge hedefleme](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) veya otomatik olarak [Bilgisayarlı Görü teknolojisinden](https://ironsoftware.com/csharp/ocr/how-to/computer-vision/) yararlanmaya çalışın.
Aşağıdaki kod, her paragraf üzerinde yinelenmeyi ve koordinatlarını (X ve Y) konsola yazdırmayı gösterir.
```csharp
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
Console.WriteLine("--- All Detected Coordinates of Paragraphs ---");
// Use a 'for' loop to get an index for each paragraph
for (int i = 0; i < paragraphs.Length; i++)
{
// Get the current paragraph
Paragraph paragraph = paragraphs[i];
// Print the paragraph number, text, and its location
Console.WriteLine($"X: {paragraph.X}"); // X-coordinate (left edge)
Console.WriteLine($"Y: {paragraph.Y}"); // Y-coordinate (top edge)
// Add a blank line for better separation
Console.WriteLine();
}
```
#### Çıktı
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/result-coordinates-output.webp" alt="OCR tespit edilen paragraf koordinatları ile X,Y değerlerini: (29,30), (28,74) ve (27,362) gösteren terminal çıktısı" class="img-responsive add-shadow" />
</div>
</div>
Çıktı, üç paragrafa karşılık gelen üç dizi koordinatı gösterir. Bu koordinatlar, sınırlayıcı kutular çizmek, belirli bölgeleri çıkarmak veya metin ögeleri arasındaki mekansal ilişkileri korumak için kullanılabilir.
### OCR Sonuçlarında Başka Hangi Özellikler Mevcuttur?
Metin ve metin koordinatlarının yanı sıra, IronOCR ek bilgi sağlar. Her bir metin öğesi için (paragraflar, satırlar, kelimeler ve bireysel karakterler) aşağıdaki bilgiler mevcuttur:
- **Metin:** Dize olarak gerçek metin.
- **X:** Sayfanın sol kenarından itibaren piksel cinsinden konum.
- **Y:** Sayfanın üst kenarından itibaren piksel cinsinden konum.
- **Genişlik:** Piksel cinsinden genişlik.
- **Yükseklik:** Piksel cinsinden yükseklik.
- **Metin Yönü:** Metnin okunma yönü (Soldan Sağa veya Yukarıdan Aşağıya).
- **Konum:** Bu metnin sayfada piksel cinsinden nerede olduğunu gösteren bir dikdörtgen.
Bu özellikler, özellikle şu uygulamalarda faydalıdır:
- Metin vurgulama ve not ekleme sistemleri
- Otomatik form alanı tespit sistemi
- Belge dönüşümünde düzen koruma
- Veri çıkarmak için mekansal metin analizi
Hata ayıklama ve görselleştirme için [metinleri vurgulama özelliğini](https://ironsoftware.com/csharp/ocr/examples/highlight-texts-for-debugging/) kullanarak algılanan bölge doğruluğunu görsel olarak doğrulayabilirsiniz.
### Paragraflar, Satırlar, Kelimeler ve Karakterler Nasıl Karşılaştırılır?
IronOCR'un hiyerarşik metin yapısı, geliştiricilerin belirli kullanım durumlarına uygun ayrıntı düzeyinde çalışmalarını sağlar. Bu ögeler arasındaki farkları anlamak, uygulamanız için doğru ayrıntı düzeyini seçmenize yardımcı olur.
Aşağıda, tespit edilen paragraflar, satırlar, kelimeler ve karakterlerin karşılaştırması yer alır.
<table class="table" style="text-align: center; background-color: #f1f9fb;">
<tr>
<td style="width: 50%;">
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/paragraph.webp" alt="Japon teknoloji girişimcileri Masayoshi Son ve Yasumitsu Shigeta'nın biyografik profillerinin vurgulandığı yer" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Paragraf</p>
</div>
</div>
</td>
<td style="width: 50%;">
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/line.webp" alt="Japon teknolojisi yöneticileri Masayoshi Son ve Yasumitsu Shigeta'nın profillerini gösteren kırmızı vurgulu belge" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Satır</p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/word.webp" alt="Teknoloji yatırımları hakkında bir paragrafta seçilen kelimelerin üzerine kırmızı kutular çizen metin vurgulama özelliği" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Kelime</p>
</div>
</div>
</td>
<td>
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/character.webp" alt="Tek tek karakter sınırlarını OCR sonuçlarında gösteren karakter düzeyinde metin algılama" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Karakter</p>
</div>
</div>
</td>
</tr>
</table>
Her bir ayrıntı düzeyi farklı amaçlara hizmet eder:
- **Paragraflar**: Belge yapısı analizi ve toplu metin çıkartma için en iyisi
- **Satırlar**: Okuma düzenini koruma ve tablolu verileri işleme için kullanışlı
- **Kelime**: Arama işlevleri ve metin analizi için ideal
- **Karakterler**: Yazım denetimi ve ince metin düzenleme uygulamaları için mükemmel
## IronOCR Barkod ve QR Kodlarını Okuyabilir mi?
Evet, IronOCR barkodları ve QR kodlarını okuyabilir. Özellik IronBarcode kadar sağlam olmasa da, IronOCR, yaygın barkod türleri için destek sağlar. Barkod algılamayı etkinleştirmek için `Configuration.ReadBarCodes` özelliğini true olarak ayarlayın. Bu entegre işlevsellik, IronOCR'u metin ve barkodları içeren belgeleri işlerken mükemmel bir seçim haline getirir, örneğin faturalar, sevkiyat etiketleri veya ürün katalogları.
Ek olarak, tespit edilen barkodlardan format, değer, koordinatlar (x, y), yükseklik, genişlik ve konum gibi `IronSoftware.Drawing.Rectangle` nesnesi şeklinde değerli bilgiler çıkarılabilir. **Rectangle** sınıfı [IronDrawing](/python/docs) içinde, belgede kesin konumlandırma sağlar.
Daha ileri barkod okuma senaryoları için, belgelerimizdeki kapsamlı [barkod okuma örneklerine](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/) göz atın.
```csharp
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;
// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
Console.WriteLine("Format = " + barcode.Format);
Console.WriteLine("Value = " + barcode.Value);
Console.WriteLine("X = " + barcode.X);
Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
```
### Barkod Algılama Çıktısı Nasıl Görünür?
IronOCR'deki barkod algılama özelliği, metin çıkarma ile sorunsuz şekilde entegre olur, metin içeriği ve barkod verilerini içeren birleşik sonuçlar sağlar. Bu çift yetenek, her iki tür bilgiyi de çıkarmanın ve ilişkilendirmenin gerektiği otomatik belge işleme iş akışları için değerlidir.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/ocr/how-to/read-results/barcodes.webp" alt="QR kodu ve EAN8 barkod algılama sonuçları ile formatlar, değerler ve koordinatları gösteren hata ayıklama konsolu" class="img-responsive add-shadow" />
</div>
</div>
Çıktı, IronOCR'un birden fazla barkod türünü eşzamanlı olarak algılama yeteneğini gösteriyor; her bir algılanan kod için format tanımlama (Örneğin: QRCode veya EAN8), çözülmüş değerler ve hassas koordinat bilgilerini sağlıyor. Bu kapsamlı veriler, karışık içerik türlerini verimli bir şekilde ele alabilen sofistike belge işleme uygulamaları oluşturmanıza olanak tanır.
IronOCR'nin Read metodu, her tespit edilen eleman için çıkarılan metin ile birlikte, kesin koordinatlar, boyutlar, metin yönü ve hiyerarşik yapı (paragraflar, satırlar, kelimeler, karakterler) gibi ayrıntılı meta verileri içeren bir OcrResult nesnesi döndürür.
OCR sonucu, algılanan paragraflar, satırlar, kelimeler ve bireysel karakterler hakkında kapsamlı bilgi içerir.
Her bir eleman için, metin içeriğini, kesin X ve Y koordinatlarını, boyutları (genişlik ve yükseklik), metin yönünü (Soldan Sağa veya Yukarıdan Aşağıya) ve bir CropRectangle nesnesindeki konumunu sağlar.
Hızlı Başlangıç: İlk Algılanan Kelimenin Metnini Getirin
IronTesseract'nın Read metodunu kullanarak bir resmi OCR yapabilir ve ilk kelimenin metnini Kelimes koleksiyonunu kullanarak çıkarabilirsiniz.
1Install IronOCR with NuGet Package Manager
PM > Install-Package IronOcr
Install-Package IronOcr
2Bu kod parçacığını kopyalayın ve çalıştırın.
string wordText = new IronTesseract().Read("file.jpg").Kelimes[0].Text;
string wordText = new IronTesseract().Read("file.jpg").Kelimes[0].Text;
C#
3Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın
Read metodunu içe aktarılan belge üzerinde OCR yapmak için kullanın
Sonuçların X, Y, genişlik, yükseklik ve metin yönü bilgilerine erişebilirsiniz.
Algılanan paragrafları, satırları, kelimeleri ve karakter karşılaştırmalarını kontrol edin
OCR Sonuçlarından Hangi Verileri Çıkarabilirim?
Sonuç değeri, çıkarılan metinden yanı sıra, IronOCR tarafından PDF ve görüntü belgelerinde keşfedilen sayfalar, paragraflar, satırlar, kelimeler, karakterler ve barkodlar hakkında bilgileri de içerir. Bu bilgiyi, döndürülen OcrResult nesnesindenRead metodunu kullanarak erişebilirsiniz.
IronOCR'un kapsamlı sonuç sistemi, geliştiricilere basit metin tanımanın ötesinde yapılandırılmış veri çıkarma yetenekleri sağlayan güçlü Tesseract 5 motoru üzerine inşa edilmiştir. Taranmış belgeleri, fotoğrafları veya ekran görüntülerini işlerken, OcrResult sınıfı, çıkarılan veriler üzerinde ayrıntılı kontrol sağlar.
using IronOcr;using System;using static IronOcr.OcrResult;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Add imageusing var imageInput = new OcrImageInput("sample.jpg");// Perform OCROcrResult ocrResult = ocrTesseract.Read(imageInput);// Retrieve list of detected paragraphsParagraph[] paragraphs = ocrResult.Paragraphs;// Output information to consoleConsole.WriteLine($"Text: {paragraphs[0].Text}");Console.WriteLine($"X: {paragraphs[0].X}");Console.WriteLine($"Y: {paragraphs[0].Y}");Console.WriteLine($"Width: {paragraphs[0].Width}");Console.WriteLine($"Height: {paragraphs[0].Height}");Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
ImportsIronOcrImportsSystemImportsIronOcr.OcrResult' Instantiate IronTesseractPrivate ocrTesseract As New IronTesseract()' Add imagePrivate imageInput = New OcrImageInput("sample.jpg")' Perform OCRPrivate ocrResult AsOcrResult = ocrTesseract.Read(imageInput)' Retrieve list of detected paragraphsPrivate paragraphs() AsParagraph = ocrResult.Paragraphs' Output information to consoleConsole.WriteLine($"Text: {paragraphs(0).Text}")Console.WriteLine($"X: {paragraphs(0).X}")Console.WriteLine($"Y: {paragraphs(0).Y}")Console.WriteLine($"Width: {paragraphs(0).Width}")Console.WriteLine($"Height: {paragraphs(0).Height}")Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs
' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
OCR Sonuçlarından Metin İçeriğine Nasıl Erişirim?
OcrResult nesnesi, çıkartılan metni basit ve sezgisel bir şekilde sunar, geliştiricilerin bunu doğrudan kullanmalarına veya diğer uygulama bileşenlerine entegre etmelerine olanak tanır. Hiyerarşik yapı, doğal belge metin organizasyonunu yansıtarak, farklı ayrıntı düzeylerinde içeriği kolayca çalışmanızı sağlar.
Birden fazla dil desteği gerektiren uygulamalar için, IronOCR çok dilli belgeleri sorunsuzca işler ve 125 desteklenen dil arasında aynı yapılandırılmış sonuç formatını korur.
Aşağıdaki kod örneği, sonuçları doğrulamak için bir döngüde metni bastırır.
using IronOcr;using System;using static IronOcr.OcrResult;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Add imageusing var imageInput = new OcrImageInput("sampleText.png");// Perform OCROcrResult ocrResult = ocrTesseract.Read(imageInput);// Retrieve list of detected paragraphsParagraph[] paragraphs = ocrResult.Paragraphs;// Loop through each paragraph in the arrayConsole.WriteLine("--- All Detected Paragraphs ---");foreach (Paragraph paragraph in paragraphs){ // Print the text of the current paragraphConsole.WriteLine(paragraph.Text); // Add a blank line for better separation (optional)Console.WriteLine();}
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
// Print the text of the current paragraph
Console.WriteLine(paragraph.Text);
// Add a blank line for better separation (optional)
Console.WriteLine();
}
ImportsIronOcrImportsSystemImportsIronOcr.OcrResult' Instantiate IronTesseractDim ocrTesseract As New IronTesseract()' Add imageUsing imageInput As New OcrImageInput("sampleText.png") ' Perform OCR Dim ocrResult AsOcrResult = ocrTesseract.Read(imageInput) ' Retrieve list of detected paragraphs Dim paragraphs AsParagraph() = ocrResult.Paragraphs ' Loop through each paragraph in the arrayConsole.WriteLine("--- All Detected Paragraphs ---") For Each paragraph AsParagraphIn paragraphs ' Print the text of the current paragraphConsole.WriteLine(paragraph.Text) ' Add a blank line for better separation (optional)Console.WriteLine() NextEndUsing
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
' Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---")
For Each paragraph As Paragraph In paragraphs
' Print the text of the current paragraph
Console.WriteLine(paragraph.Text)
' Add a blank line for better separation (optional)
Console.WriteLine()
Next
End Using
Çıktı
Console çıktısı, IronOCR'un paragraf metnini hassasiyetle satır satır çıkardığını gösteriyor. Motor, paragraf sınırlarını otomatik olarak algılar ve çoklu metin bloklarına sahip karmaşık belgeleri işlemek için idealdir.
Tespit Edilen Metnin Konum Koordinatlarını Nasıl Alabilirim?
Çıkarılan metne ek olarak, OcrResult ayrıntılı konum verileri sağlar. Bu konumsal bilgi, düzen sadakatini korumak veya belgelerin belirli bölgelerinden hedeflenmiş metin çıkarımı yapmak isteyen uygulamalar için önemlidir. Koordinat sistemi, sayfanın sol üst köşesinden standart piksel ölçümlerini kullanır.
Aşağıdaki kod, her paragraf üzerinde yinelenmeyi ve koordinatlarını (X ve Y) konsola yazdırmayı gösterir.
using IronOcr;using System;using static IronOcr.OcrResult;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Add imageusing var imageInput = new OcrImageInput("sampleText.png");// Perform OCROcrResult ocrResult = ocrTesseract.Read(imageInput);// Retrieve list of detected paragraphsParagraph[] paragraphs = ocrResult.Paragraphs;Console.WriteLine("--- All Detected Coordinates of Paragraphs ---");// Use a 'for' loop to get an index for each paragraphfor (int i = 0; i < paragraphs.Length; i++){ // Get the current paragraph Paragraph paragraph = paragraphs[i]; // Print the paragraph number, text, and its locationConsole.WriteLine($"X: {paragraph.X}"); // X-coordinate (left edge)Console.WriteLine($"Y: {paragraph.Y}"); // Y-coordinate (top edge) // Add a blank line for better separationConsole.WriteLine();}
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
Console.WriteLine("--- All Detected Coordinates of Paragraphs ---");
// Use a 'for' loop to get an index for each paragraph
for (int i = 0; i < paragraphs.Length; i++)
{
// Get the current paragraph
Paragraph paragraph = paragraphs[i];
// Print the paragraph number, text, and its location
Console.WriteLine($"X: {paragraph.X}"); // X-coordinate (left edge)
Console.WriteLine($"Y: {paragraph.Y}"); // Y-coordinate (top edge)
// Add a blank line for better separation
Console.WriteLine();
}
ImportsIronOcrImportsSystemImportsIronOcr.OcrResult' Instantiate IronTesseractDim ocrTesseract As New IronTesseract()' Add imageUsing imageInput As New OcrImageInput("sampleText.png") ' Perform OCR Dim ocrResult AsOcrResult = ocrTesseract.Read(imageInput) ' Retrieve list of detected paragraphs Dim paragraphs AsParagraph() = ocrResult.ParagraphsConsole.WriteLine("--- All Detected Coordinates of Paragraphs ---") ' Use a 'for' loop to get an index for each paragraph For i AsInteger = 0 To paragraphs.Length - 1 ' Get the current paragraph Dim paragraph AsParagraph = paragraphs(i) ' Print the paragraph number, text, and its locationConsole.WriteLine($"X: {paragraph.X}") ' X-coordinate (left edge)Console.WriteLine($"Y: {paragraph.Y}") ' Y-coordinate (top edge) ' Add a blank line for better separationConsole.WriteLine() NextEndUsing
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
Console.WriteLine("--- All Detected Coordinates of Paragraphs ---")
' Use a 'for' loop to get an index for each paragraph
For i As Integer = 0 To paragraphs.Length - 1
' Get the current paragraph
Dim paragraph As Paragraph = paragraphs(i)
' Print the paragraph number, text, and its location
Console.WriteLine($"X: {paragraph.X}") ' X-coordinate (left edge)
Console.WriteLine($"Y: {paragraph.Y}") ' Y-coordinate (top edge)
' Add a blank line for better separation
Console.WriteLine()
Next
End Using
Çıktı
Çıktı, üç paragrafa karşılık gelen üç dizi koordinatı gösterir. Bu koordinatlar, sınırlayıcı kutular çizmek, belirli bölgeleri çıkarmak veya metin ögeleri arasındaki mekansal ilişkileri korumak için kullanılabilir.
OCR Sonuçlarında Başka Hangi Özellikler Mevcuttur?
Metin ve metin koordinatlarının yanı sıra, IronOCR ek bilgi sağlar. Her bir metin öğesi için (paragraflar, satırlar, kelimeler ve bireysel karakterler) aşağıdaki bilgiler mevcuttur:
Metin: Dize olarak gerçek metin.
X: Sayfanın sol kenarından itibaren piksel cinsinden konum.
Y: Sayfanın üst kenarından itibaren piksel cinsinden konum.
Genişlik: Piksel cinsinden genişlik.
Yükseklik: Piksel cinsinden yükseklik.
Metin Yönü: Metnin okunma yönü (Soldan Sağa veya Yukarıdan Aşağıya).
Konum: Bu metnin sayfada piksel cinsinden nerede olduğunu gösteren bir dikdörtgen.
Bu özellikler, özellikle şu uygulamalarda faydalıdır:
Metin vurgulama ve not ekleme sistemleri
Otomatik form alanı tespit sistemi
Belge dönüşümünde düzen koruma
Veri çıkarmak için mekansal metin analizi
Hata ayıklama ve görselleştirme için metinleri vurgulama özelliğini kullanarak algılanan bölge doğruluğunu görsel olarak doğrulayabilirsiniz.
Paragraflar, Satırlar, Kelimeler ve Karakterler Nasıl Karşılaştırılır?
IronOCR'un hiyerarşik metin yapısı, geliştiricilerin belirli kullanım durumlarına uygun ayrıntı düzeyinde çalışmalarını sağlar. Bu ögeler arasındaki farkları anlamak, uygulamanız için doğru ayrıntı düzeyini seçmenize yardımcı olur.
Aşağıda, tespit edilen paragraflar, satırlar, kelimeler ve karakterlerin karşılaştırması yer alır.
Paragraf
Satır
Kelime
Karakter
Her bir ayrıntı düzeyi farklı amaçlara hizmet eder:
Paragraflar: Belge yapısı analizi ve toplu metin çıkartma için en iyisi
Satırlar: Okuma düzenini koruma ve tablolu verileri işleme için kullanışlı
Kelime: Arama işlevleri ve metin analizi için ideal
Karakterler: Yazım denetimi ve ince metin düzenleme uygulamaları için mükemmel
IronOCR Barkod ve QR Kodlarını Okuyabilir mi?
Evet, IronOCR barkodları ve QR kodlarını okuyabilir. Özellik IronBarcode kadar sağlam olmasa da, IronOCR, yaygın barkod türleri için destek sağlar. Barkod algılamayı etkinleştirmek için Configuration.ReadBarCodes özelliğini true olarak ayarlayın. Bu entegre işlevsellik, IronOCR'u metin ve barkodları içeren belgeleri işlerken mükemmel bir seçim haline getirir, örneğin faturalar, sevkiyat etiketleri veya ürün katalogları.
Ek olarak, tespit edilen barkodlardan format, değer, koordinatlar (x, y), yükseklik, genişlik ve konum gibi IronSoftware.Drawing.Rectangle nesnesi şeklinde değerli bilgiler çıkarılabilir. Rectangle sınıfı IronDrawing içinde, belgede kesin konumlandırma sağlar.
Daha ileri barkod okuma senaryoları için, belgelerimizdeki kapsamlı barkod okuma örneklerine göz atın.
using IronOcr;using System;using static IronOcr.OcrResult;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Enable barcodes detectionocrTesseract.Configuration.ReadBarCodes = true;// Add imageusing OcrInput ocrInput = new OcrInput();ocrInput.LoadPdf("sample.pdf");// Perform OCROcrResult ocrResult = ocrTesseract.Read(ocrInput);// Output information to consoleforeach(var barcode in ocrResult.Barcodes){Console.WriteLine("Format = " + barcode.Format);Console.WriteLine("Value = " + barcode.Value);Console.WriteLine("X = " + barcode.X);Console.WriteLine("Y = " + barcode.Y);}Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;
// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
Console.WriteLine("Format = " + barcode.Format);
Console.WriteLine("Value = " + barcode.Value);
Console.WriteLine("X = " + barcode.X);
Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
ImportsIronOcrImportsSystemImportsIronOcr.OcrResult' Instantiate IronTesseractPrivate ocrTesseract As New IronTesseract()' Enable barcodes detectionocrTesseract.Configuration.ReadBarCodes = True' Add imageUsing ocrInput As New OcrInput() ocrInput.LoadPdf("sample.pdf") ' Perform OCR Dim ocrResult AsOcrResult = ocrTesseract.Read(ocrInput) ' Output information to console For Each barcode In ocrResult.BarcodesConsole.WriteLine("Format = " & barcode.Format)Console.WriteLine("Value = " & barcode.Value)Console.WriteLine("X = " & barcode.X)Console.WriteLine("Y = " & barcode.Y) Next barcodeConsole.WriteLine(ocrResult.Text)EndUsing
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True
' Add image
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("sample.pdf")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Output information to console
For Each barcode In ocrResult.Barcodes
Console.WriteLine("Format = " & barcode.Format)
Console.WriteLine("Value = " & barcode.Value)
Console.WriteLine("X = " & barcode.X)
Console.WriteLine("Y = " & barcode.Y)
Next barcode
Console.WriteLine(ocrResult.Text)
End Using
Barkod Algılama Çıktısı Nasıl Görünür?
IronOCR'deki barkod algılama özelliği, metin çıkarma ile sorunsuz şekilde entegre olur, metin içeriği ve barkod verilerini içeren birleşik sonuçlar sağlar. Bu çift yetenek, her iki tür bilgiyi de çıkarmanın ve ilişkilendirmenin gerektiği otomatik belge işleme iş akışları için değerlidir.
Çıktı, IronOCR'un birden fazla barkod türünü eşzamanlı olarak algılama yeteneğini gösteriyor; her bir algılanan kod için format tanımlama (Örneğin: QRCode veya EAN8), çözülmüş değerler ve hassas koordinat bilgilerini sağlıyor. Bu kapsamlı veriler, karışık içerik türlerini verimli bir şekilde ele alabilen sofistike belge işleme uygulamaları oluşturmanıza olanak tanır.
Sıkça Sorulan Sorular
OcrResult nesnesi hangi bilgileri içeriyor?
IronOCR'un OcrResult nesnesi, çıkarılan metin artı hassas X/Y koordinatlarını, boyutları (genişlik ve yükseklik), metin yönünü (Sol'dan Sağa veya Üst'ten Alt'a) ve algılanan her öğe için paragraflar, satırlar, kelimeler ve bireysel karakterler olarak organize edilmiş hiyerarşik yapıyı içerir.
OCR sonucundan hızlıca ilk kelimeyi nasıl çıkartabilirim?
IronOCR'un Read metodunu ve Words koleksiyonunu kullanarak ilk kelimenin metnini çıkarabilirsiniz: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`. Bu, OCR sonuçlarına ait bireysel kelime öğelerine anında erişim sağlar.
OCR sonuçlarında hangi koordinat verileri mevcut?
IronOCR, algılanan her öğe (paragraflar, satırlar, kelimeler ve karakterler) için hassas X ve Y koordinatları sağlar, ayrıca genişlik ve yükseklik boyutları da mevcut. Bu koordinat verileri, metin öğelerinin konum izlemeyi hassas bir şekilde sağlayan CropRectangle nesnesi aracılığıyla erişilebilir durumda.
Sadece metin içeriği dışında metadata çıkarabilir miyim?
Evet, IronOCR, PDF ve görüntü belgelerinde keşfedilen sayfalar, paragraflar, satırlar, kelimeler, karakterler ve hatta barkodlar dahil kapsamlı metadata çıkarır. OcrResult nesnesi, her öğe için metin yönüne, hiyerarşik yapıya ve mekansal bilgiye erişim sağlar.
Hangi belge türleri OCR sonuçları için işlenebilir?
IronOCR, taranmış belgeler, fotoğraflar, ekran görüntüleri, PDF'ler ve görüntü dosyaları dahil çeşitli belge türlerini işleyebilir. Read metodu, bu formatlar arasında tutarlı bir şekilde çalışır ve tam metadata ile aynı yapılandırılmış OcrResult nesnesini döndürür.
Çıkarılan metin sonuçlarda nasıl organize edilir?
IronOCR, doğal belge organizasyon yapısını yansıtan bir hiyerarşik yapıda çıkarılan metni organize eder. OcrResult nesnesi, uygulamanız için uygun düzeyde metinle çalışmayı kolaylaştıran, tüm sayfalardan bireysel karakterlere kadar farklı granülasyon düzeylerinde içeriği sunar.
Can IronOCR read barcodes and QR codes?
Yes, IronOCR can read common barcode types, including QR codes, by enabling barcode detection in the configuration. This integration allows for comprehensive processing of documents containing both text and barcodes.
How does IronOCR help with hierarchical text analysis?
IronOCR's hierarchical text structure allows developers to work at different granularity levels, such as paragraphs, lines, words, and characters, making it suitable for various applications like document structure analysis and text search functionality.
What advanced features does IronOCR offer for coordinate-based operations?
IronOCR offers OCR region targeting for focused text extraction and Computer Vision capabilities to automatically identify text regions, enhancing precision in coordinate-based applications.
What does the barcode detection output look like in IronOCR?
The barcode detection output in IronOCR includes format identification, decoded values, and precise coordinates, integrated with text extraction for efficient processing of mixed content documents.
Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.