IRONSOFTWAREHOME

Jak wyodrębnić wyniki odczytu w języku C# za pomocą IronOCR

Curtis Chau
Curtis Chau
Updated: 12 maja 2026

Metoda IronOCR Read zwraca obiekt OcrResult zawierający wyekstrahowany tekst plus szczegółowe metadane, w tym dokładne współrzędne, wymiary, kierunek tekstu i hierarchiczną strukturę (akapit, linie, słowa, znaki) dla każdego wykrytego elementu.

Wynik OCR zawiera wyczerpujące informacje o wykrytych akapitach, wierszach, słowach i poszczególnych znakach.

Dla każdego elementu dostarcza zawartość tekstową, dokładne współrzędne X i Y, wymiary (szerokość i wysokość), kierunek tekstu (od lewej do prawej lub od góry do dołu) oraz lokalizację w obiekcie CropRectangle.

Szybki start: Pobieranie tekstu z pierwszego wykrytego słowa WORD

Użyj metody Read z IronTesseract, aby wykonać OCR na obrazie i wyodrębnić tekst pierwszego słowa używając kolekcji WORDs.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    string wordText = new IronTesseract().Read("file.jpg").WORDs[0].Text;
    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

Jakie dane mogę wyodrębnić z wyników OCR?

Wartość wyniku zawiera nie tylko wyodrębniony tekst, ale także informacje o stronach, akapitach, wierszach, słowach, znakach i BarCodes wykrytych w dokumentach PDF i obrazach przez IronOCR. Możesz uzyskać ten dostęp z obiektu OcrResult zwracanego, używając metody Read.

Kompleksowy system wyników IronOCR opiera się na potężnym silniku Tesseract 5, zapewniając programistom możliwości ekstrakcji danych strukturalnych wykraczające poza proste rozpoznawanie tekstu. Niezależnie od przetwarzania dokumentów zeskanowanych, zdjęć lub zrzutów ekranu, klasa OcrResult daje dokładną kontrolę nad wyodrębnionymi danymi.

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}");
Debugger Visual Studio pokazujący wyniki ekstrakcji OCR wraz ze współrzędnymi i tekstem z japońskiego dokumentu biznesowego

Jak uzyskać dostęp do treści tekstowej z wyników OCR?

Obiekt OcrResult przedstawia wyodrębniony tekst w prosty, intuicyjny sposób, pozwalając programistom używać go bezpośrednio lub integrować z innymi komponentami aplikacji. Struktura hierarchiczna odzwierciedla naturalną organizację tekstu dokumentu, co ułatwia pracę z treścią na różnych poziomach szczegółowości.

W przypadku aplikacji wymagających obsługi wielu języków, IronOCR płynnie obsługuje dokumenty wielojęzyczne, zachowując ten sam format wyników we wszystkich 125 obsługiwanych językach.

Poniższy przykład kodu drukuje tekst w pętli w celu weryfikacji wyników.

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();
}

Wynik

Terminal wyświetlający wyniki wykrywania akapitów przez OCR wraz z wyodrębnionym tekstem dotyczącym Masayoshi Sona i Yasumitsu Shigety

Wynik wyświetlany w konsoli pokazuje, jak IronOCR precyzyjnie wyodrębnia tekst akapitu linia po linii. Silnik automatycznie wykrywa granice akapitów, dzięki czemu idealnie nadaje się do przetwarzania złożonych dokumentów zawierających wiele bloków tekstu.

Jak uzyskać współrzędne lokalizacji wykrytego tekstu?

Oprócz wyodrębnionego tekstu, OcrResult zapewnia szczegółowe dane o lokalizacji. Te informacje przestrzenne mają kluczowe znaczenie dla aplikacji, które muszą zachować wierność układu lub wykonywać ukierunkowane wyodrębnianie tekstu z określonych obszarów dokumentu. Układ współrzędnych wykorzystuje standardowe pomiary w pikselach od lewego górnego rogu strony.

Aby zwiększyć precyzję operacji opartych na współrzędnych, warto rozważyć użycie funkcji OCR do wyodrębniania określonych obszarów lub wykorzystać możliwości Computer Vision do automatycznej identyfikacji fragmentów tekstu.

Poniższy kod pokazuje iterację nad każdym akapitem i wyświetlanie jego współrzędnych (X i Y) w konsoli za pomocą komendy PRINT.

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();
}

Wynik

Wynik terminala pokazujący współrzędne akapitów wykrytych przez OCR z wartościami X,Y: (29,30), (28,74) i (27,362)

Wynik przedstawia trzy zestawy współrzędnych odpowiadających trzem akapitom. Współrzędne te można wykorzystać do rysowania prostokątów ograniczających, wyodrębniania określonych obszarów lub zachowania relacji przestrzennych między elementami tekstu.

Jakie inne atrybuty są dostępne w wynikach OCR?

Oprócz tekstu i współrzędnych tekstu IronOCR dostarcza dodatkowych informacji. Dla każdego elementu tekstu (akapity, wiersze, słowa i pojedyncze znaki) dostępne są następujące informacje:

  • Tekst: Rzeczywisty tekst w postaci ciągu znaków.
  • X: Odległość od lewej krawędzi strony w pikselach.
  • Y: Odległość od górnej krawędzi strony w pikselach.
  • Szerokość: Szerokość w pikselach.
  • Wysokość: Wysokość w pikselach.
  • Kierunek tekstu: Kierunek, w którym tekst był czytany (od lewej do prawej lub od góry do dołu).
  • Położenie: Prostokąt wskazujący położenie tego tekstu na stronie w pikselach.

Te cechy są szczególnie przydatne podczas wdrażania:

  • Systemy podświetlania tekstu i adnotacji
  • Automatyczne wykrywanie pól formularzy
  • Zachowanie układu podczas konwersji dokumentów
  • Przestrzenna analiza tekstu w celu ekstrakcji danych

W celu debugowania i wizualizacji należy użyć funkcji podświetlania tekstu, aby wizualnie zweryfikować dokładność wykrytych fragmentów.

Jak porównać akapity, wiersze, słowa i znaki?

Hierarchiczna struktura tekstu IronOCR pozwala programistom pracować na poziomie szczegółowości odpowiednim dla ich konkretnego przypadku użycia. Zrozumienie różnic między tymi elementami pomaga dobrać odpowiedni poziom szczegółowości dla danej aplikacji.

Poniżej znajduje się porównanie wykrytych akapitów, wierszy, słów i znaków.

Wyróżnione profile biograficzne japońskich przedsiębiorców technologicznych Masayoshi Son i Yasumitsu Shigeta
Dokument z zaznaczonymi na czerwono profilami japońskich menedżerów z branży technologicznej: Masayoshi Son i Yasumitsu Shigeta
Funkcja podświetlania tekstu pokazująca czerwone ramki nakładające się na wybrane słowa w akapicie dotyczącym inwestycji technologicznych
Wykrywanie tekstu na poziomie znaków pokazujące granice poszczególnych znaków w wynikach OCR

Każdy poziom szczegółowości służy innym celom:

  • Akapity: Najlepsze do analizy struktury dokumentu i zbiorczego wyodrębniania tekstu
  • Wiersze: Przydatne do zachowania kolejności czytania i przetwarzania danych tabelarycznych
  • WORD: Idealne do funkcji wyszukiwania i analizy tekstu
  • Znaki: Idealne do sprawdzania pisowni i precyzyjnej edycji tekstu

Czy IronOCR potrafi odczytywać kody kreskowe i kody QR?

Tak, IronOCR potrafi odczytywać kody kreskowe i kody QR. Chociaż funkcja może nie być tak solidna jak IronBarcode, IronOCR zapewnia wsparcie dla powszechnych typów kodów kreskowych. Aby włączyć wykrywanie kodów kreskowych, ustaw właściwość Configuration.ReadBarCodes na true. Ta zintegrowana funkcjonalność sprawia, że IronOCR jest doskonałym wyborem do przetwarzania dokumentów zawierających zarówno tekst, jak i BarCodes, takich jak faktury, etykiety wysyłkowe czy katalogi produktów.

Dodatkowo, wartościowe informacje można wyodrębnić z wykrytych kodów kreskowych, w tym format, wartość, współrzędne (x, y), wysokość, szerokość i lokalizację jako obiekt IronSoftware.Drawing.Rectangle. Klasa Rectangle w IronDrawing umożliwia precyzyjne pozycjonowanie w dokumencie.

W przypadku bardziej zaawansowanych scenariuszy odczytu kodów kreskowych zapoznaj się z obszernymi przykładami odczytu kodów kreskowych w naszej dokumentacji.

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);

Jak wygląda wynik wykrywania BarCodes?

Funkcja wykrywania kodów kreskowych w IronOCR płynnie integruje się z ekstrakcją tekstu, zapewniając ujednolicone wyniki obejmujące zarówno treść tekstową, jak i dane z kodów kreskowych. Ta podwójna funkcja jest cenna w automatycznych procesach przetwarzania dokumentów, gdzie konieczne jest zarówno wyodrębnianie, jak i korelowanie obu typów informacji.

Konsola debugowania pokazująca wyniki wykrywania kodów QR i kodów kreskowych EAN8 wraz z formatami, wartościami i współrzędnymi

Wynik pokazuje zdolność IronOCR do jednoczesnego wykrywania wielu typów BARCODE-ów, zapewniając identyfikację formatu (takiego jak QRCode lub EAN8), zdekodowane wartości oraz precyzyjne informacje o współrzędnych dla każdego wykrytego BARCODE-a. Te kompleksowe dane pozwalają programistom tworzyć zaawansowane aplikacje do przetwarzania dokumentów, które efektywnie obsługują różne typy treści.

Często Zadawane Pytania

Jakie informacje zawiera obiekt OcrResult?

Obiekt OcrResult z IronOCR zawiera wydobyty tekst oraz szczegolowe metadane, w tym dokladne wspolrzedne X/Y, wymiary (szerokosc i wysokosc), kierunek tekstu (lewo-prawo lub gora-dol) oraz strukture hierarchiczna zorganizowana jako akapity, linie, slowa i pojedyncze znaki dla kazdego wykrytego elementu.

Jak szybko wydobyc pierwsze slowo z wyniku OCR?

Mozesz wydobyc tekst pierwszego slowa za pomoca metody Read z IronOCR i uzyskac dostep do kolekcji Words: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`. To umożliwia natychmiastowy dostep do pojedynczych elementow slow z wynikow OCR.

Jakie rodzaje danych wspolrzednych sa dostepne w wynikach OCR?

IronOCR dostarcza dokladne wspolrzedne X i Y dla kazdego wykrytego elementu (akapity, linie, slowa i znaki), wraz z wymiarami szerokosci i wysokosci. Dane te sa dostepne poprzez obiekt CropRectangle, co umożliwia dokladne sledzenie lokalizacji elementow tekstowych.

Czy moge wydobyc metadane poza samymi tresciami tekstowymi?

Tak, IronOCR wydobywa wszechstronne metadane, w tym strony, akapity, linie, slowa, znaki, a nawet kody kreskowe odnalezione w dokumentach PDF i obrazach. Obiekt OcrResult udostepnia informacje o kierunku tekstu, strukturze hierarchicznej i informacji przestrzennej dla kazdego elementu.

Jakie typy dokumentow moga byc przetwarzane na potrzeby wynikow OCR?

IronOCR moze przetwarzac rozne typy dokumentow, w tym dokumenty skanowane, zdjecia, zrzuty ekranu, pliki PDF i obrazy. Metoda Read dziala spójnie we wszystkich tych formatach, zwracajac ten sam strukturalny obiekt OcrResult z pelnymi metadanymi.

Jak zorganizowany jest wydobyty tekst w wynikach?

IronOCR organizuje wydobyty tekst w strukturze hierarchicznej odwzorowujacej naturalna organizacje dokumentu. Obiekt OcrResult przedstawia tresci na roznych poziomach szczególowosci - od calej strony az po pojedyncze znaki - co ułatwia prace z tekstem na odpowiednim poziomie dla twojej aplikacji.

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, seamlessly integrated with text extraction for efficient processing of mixed content documents.

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

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