IRONSOFTWAREHOME

C# Async & Multithreading Unterstützung mit IronOCR

Chipego
Chipego Kalinda
Updated: 29. Juni 2026

IronOCR verwaltet das Multithreading automatisch über alle CPU-Kerne und bietet asynchrone Methoden wie ReadAsync(), um OCR auszuführen, ohne Ihren Hauptthread zu blockieren, und so reaktive Anwendungen zu gewährleisten, während große Dokumente verarbeitet werden.

Einführung

Die effiziente Verarbeitung großer Mengen von Textdaten erfordert sowohl Genauigkeit als auch Geschwindigkeit für OCR-Operationen. Dieser Artikel behandelt die asynchrone Unterstützung und das Multithreading in IronOCR und Tesseract. Die asynchrone Programmierung ermöglicht eine nicht blockierende OCR-Ausführung, so dass die Anwendungen während der Texterkennungsaufgaben reaktionsfähig bleiben. Multithreading bietet Parallelität, um die OCR-Leistung erheblich zu steigern. Diese Techniken helfen Entwicklern, die Effizienz und Reaktionsfähigkeit von OCR-gestützten Anwendungen zu verbessern.

Schnellstart: Verwenden Sie ReadAsync für Müheloses Asynchrones OCR

Verwenden Sie die ReadAsync-Methode von IronTesseract, um OCR auszuführen, ohne Ihren Hauptthread zu blockieren. Dadurch wird Ihrer Anwendung schnell eine reaktionsschnelle, nicht blockierende OCR hinzugefügt. Sie eignet sich besonders gut für die Verarbeitung von PDF-Dokumenten oder die gleichzeitige Bearbeitung mehrerer Bilddateien.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var result = await new IronOcr.IronTesseract().ReadAsync("image.png");
    C#
  3. 3Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
    arrow pointer

Wie funktioniert Multithreading in IronOCR?

IronOCR verbessert die Effizienz der Bildverarbeitung und OCR-Lesung durch nahtloses Multithreading und erfordert keine spezielle API von den Entwicklern. IronTesseract nutzt automatisch alle verfügbaren Threads über mehrere Kerne und optimiert die Systemressourcen für eine schnelle OCR-Ausführung. Dieses integrierte Multithreading vereinfacht die Entwicklung und steigert die Leistung erheblich, indem es die Parallelität direkt in den OCR-Workflow integriert.

Die multithreaded Tesseract-Implementierung der Bibliothek bietet diese entscheidenden Vorteile:

  • Automatische CPU-Kernauslastung: IronOCR erkennt und nutzt alle verfügbaren Kerne ohne manuelle Konfiguration
  • Thread-sichere Operationen: Alle OCR-Vorgänge sind standardmäßig thread-sicher ausgelegt
  • Optimierte Ressourcenverwaltung: Speicher- und Verarbeitungsressourcen werden effizient über Threads hinweg zugewiesen
  • Skalierbare Leistung: Die Verarbeitungszeit sinkt proportional mit der Anzahl der verfügbaren Kerne

Hier ist ein Beispiel für ein Multithreading-Leseprogramm in C#:

using IronOcr;
using System;

var ocr = new IronTesseract();

using (var input = new OcrPdfInput(@"example.pdf"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
};

Für fortgeschrittene Szenarien, die eine schnelle OCR-Konfiguration erfordern, können Entwickler das Multithreading-Verhalten feinabstimmen, um spezifische Leistungsanforderungen zu erfüllen und gleichzeitig die Genauigkeit zu erhalten.

Wie verwende ich die Async-Unterstützung in IronOCR?

Die asynchrone Programmierung optimiert die OCR-Leistung, indem sie es Entwicklern ermöglicht, OCR-Aufgaben auszuführen, ohne den Hauptthread zu blockieren. So bleiben die Anwendungen reaktionsschnell, während große Dokumente oder Bilder für die Texterkennung verarbeitet werden. Dank der asynchronen Unterstützung kann das System andere Aufgaben erledigen, während die OCR-Operationen im Hintergrund laufen. Diese Fähigkeit ist für die Implementierung der OCR-Fortschrittsanzeige in Benutzeroberflächen von entscheidender Bedeutung.

Dieser Abschnitt behandelt die Integration der asynchronen Unterstützung in IronOCR und zeigt verschiedene Methoden, um OCR-Dienste nicht zu blockieren. Die asynchronen Funktionen von IronOCR gewährleisten eine optimale Leistung sowohl für Desktop-Anwendungen, die während OCR-Vorgängen reaktionsschnell sein müssen, als auch für Webdienste, die mehrere gleichzeitige OCR-Anfragen verarbeiten.

Wann Soll Ich OcrReadTask-Objekte Verwenden?

OcrReadTask-Objekte verbessern die Kontrolle und Flexibilität in den OCR-Prozessen mit IronOCR. Diese Objekte kapseln OCR-Vorgänge und ermöglichen eine effiziente Verwaltung von Texterkennungsaufgaben. Dieser Abschnitt zeigt, wie Sie OcrReadTask-Objekte in Ihrem IronOCR-Workflow verwenden und wie sie OCR-Aufgaben initiieren und optimieren. OcrReadTask-Objekte helfen, die Fähigkeiten von IronOCR zu maximieren, wenn komplexe Dokumentenverarbeitungen orchestriert oder die Anwendungsreaktionsfähigkeit verfeinert werden müssen.

OcrReadTask-Objekte funktionieren am besten, wenn:

  • Sie benötigen eine fein abgestufte Kontrolle über die Ausführung von Aufgaben
  • Implementierung der Abbruch-Token-Funktionalität für stornierbare Operationen
  • Verwaltung mehrerer gleichzeitiger OCR-Vorgänge mit unterschiedlichen Prioritäten
  • Integration mit benutzerdefinierten Aufgabenplanern oder Workflow-Engines
using IronOcr;

IronTesseract ocr = new IronTesseract();

OcrPdfInput largePdf = new OcrPdfInput("chapter1.pdf");

Func<OcrResult> reader = () =>
{
    return ocr.Read(largePdf);
};

OcrReadTask readTask = new OcrReadTask(reader.Invoke);
// Start the OCR task asynchronously
readTask.Start();

// Continue with other tasks while OCR is in progress
DoOtherTasks();

// Wait for the OCR task to complete and retrieve the result
OcrResult result = await Task.Run(() => readTask.Result);

Console.Write($"##### OCR RESULTS ###### \n {result.Text}");

largePdf.Dispose();
readTask.Dispose();

static void DoOtherTasks()
{
    // Simulate other tasks being performed while OCR is in progress
    Console.WriteLine("Performing other tasks...");
    Thread.Sleep(2000); // Simulating work for 2000 milliseconds
}

Wie Verwende Ich Die ReadAsync-Methode?

ReadAsync() bietet einen direkten Mechanismus, um OCR-Operationen asynchron zu starten. Ohne komplexes Threading oder Task-Management können Entwickler asynchrone OCR in ihre Anwendungen integrieren. Mit dieser Methode wird verhindert, dass der Haupt-Thread während OCR-Aufgaben blockiert, sodass die Anwendungen reaktionsschnell bleiben.

Die ReadAsync-Methode funktioniert gut für:

  • Desktop-Anwendungen, bei denen die Reaktionsfähigkeit der Benutzeroberfläche erhalten bleiben muss
  • Webanwendungen, die mehrere gleichzeitige OCR-Anfragen verarbeiten
  • Stapelverarbeitungsszenarien, bei denen Fortschrittsverfolgung unerlässlich ist
  • Integration mit modernen async/await-Mustern in .NET-Anwendungen
using IronOcr;
using System;
using System.Threading.Tasks;

IronTesseract ocr = new IronTesseract();

using (OcrPdfInput largePdf = new OcrPdfInput("PDFs/example.pdf"))
{
    var result = await ocr.ReadAsync(largePdf);
    DoOtherTasks();
    Console.Write($"##### OCR RESULTS ###### " +
                $"\n {result.Text}");
}

static void DoOtherTasks()
{
    // Simulate other tasks being performed while OCR is in progress
    Console.WriteLine("Performing other tasks...");
    System.Threading.Thread.Sleep(2000); // Simulating work for 2000 milliseconds
}

Warum sollte ich Async und Multithreading mit IronOCR verwenden?

Die Kombination von asynchroner Unterstützung und Multithreading in IronOCR bietet zahlreiche Vorteile für die moderne Anwendungsentwicklung:

Leistungsvorteile:

  • Verbesserter Durchsatz: Verarbeiten Sie mehrere Dokumente gleichzeitig, ohne zu blockieren
  • Bessere Ressourcenausnutzung: Maximierung der CPU-Nutzung über alle verfügbaren Kerne
  • Verkürzte Latenzzeit: Starten Sie die Verarbeitung sofort, ohne auf den Abschluss vorheriger Operationen zu warten
  • Skalierbare Architektur: Bewältigung steigender Arbeitslasten ohne Änderungen der Architektur

Entwicklungsvorteile:

  • Vereinfachter Code: Keine Notwendigkeit, Threads manuell zu verwalten - IronOCR übernimmt die Komplexität
  • Modern Patterns: Volle Unterstützung für async/await Patterns in Tesseract 5 for .NET
  • Einfache Integration: Arbeitet nahtlos mit der bestehenden .NET async Infrastruktur
  • Wartbare Lösungen: Klarer, lesbarer Code, der die besten Praktiken von .NET befolgt

Multithreading in IronOCR optimiert OCR-Aufgaben erheblich. Die eingebaute Multithreading-Fähigkeit, kombiniert mit Methoden wie ReadAsync(), vereinfacht die Handhabung großer Mengen an Textdaten. Diese Kombination stellt sicher, dass die Anwendungen reaktionsschnell und effizient bleiben, was IronOCR zu einem effektiven Werkzeug für die Erstellung von Hochleistungssoftware mit optimierten Texterkennungsfunktionen macht. Um den kompletten Funktionsumfang kennenzulernen, lesen Sie unsere NuGet-Paketinstallationsanleitung.

Häufig gestellte Fragen

Wie kann ich OCR asynchron in C# durchführen, ohne meinen Hauptthread zu blockieren?

IronOCR bietet die ReadAsync-Methode, die eine nicht blockierende OCR-Ausführung ermöglicht. Sie können einfach `var result = await new IronOcr.IronTesseract().ReadAsync("image.png");` verwenden, um OCR asynchron auszuführen, so dass Ihre Anwendung bei der Verarbeitung von Dokumenten reaktionsfähig bleibt.

Verwendet OCR automatisch mehrere CPU-Kerne für eine bessere Leistung?

Ja, IronOCR nutzt durch das eingebaute Multithreading automatisch alle verfügbaren CPU-Kerne. Die IronTesseract-Implementierung erkennt und nutzt alle Kerne, ohne dass eine manuelle Konfiguration erforderlich ist, und bietet so eine optimierte Ressourcenverwaltung und skalierbare Leistung.

Was sind die Hauptvorteile von Multithreading bei der OCR-Verarbeitung?

Die Multithreading-Implementierung von IronOCR bietet automatische CPU-Kernauslastung, standardmäßig thread-sichere Operationen, optimierte Ressourcenverwaltung für Speicher und Verarbeitung und skalierbare Leistung, bei der die Verarbeitungszeit proportional zu den verfügbaren Kernen abnimmt.

Kann ich mehrere PDF-Dokumente gleichzeitig mit asynchroner OCR verarbeiten?

Ja, die ReadAsync-Methode von IronOCR funktioniert besonders gut bei der Verarbeitung von PDF-Dokumenten oder bei der gleichzeitigen Verarbeitung mehrerer Bilddateien, so dass Sie mehrere Dokumente gleichzeitig verarbeiten können, ohne Ihre Anwendung zu blockieren.

Muss ich speziellen Code schreiben, um Multithreading für OCR zu ermöglichen?

Nein, IronOCR erfordert keine spezielle API oder manuelle Konfiguration für Multithreading. Die Bibliothek integriert die Parallelität nahtlos direkt in den OCR-Workflow und verwaltet automatisch Threads über mehrere Kerne für eine optimale Leistung.

Was ist das OcrReadTask-Objekt und wie hilft es bei der asynchronen Verarbeitung?

Das OcrReadTask-Objekt in IronOCR ermöglicht es Ihnen, die Vorteile der asynchronen Gleichzeitigkeit bei der Verarbeitung von Dokumenten zu nutzen. Es ermöglicht Ihnen, OCR-Vorgänge asynchron zu verwalten, während die Bibliothek die zugrunde liegende Multithreading-Komplexität handhabt.

Ist IronOCR vollständig mit .NET 10 kompatibel?

.NET 10 wird von IronOCR in der neuesten Version 2025.12 unterstützt. Sie können die Bibliothek mit NuGet (Install-Package IronOcr) installieren und asynchrone Methoden wie ReadAsync() unter .NET 10 ohne spezielle Konfiguration ausführen.

Does setting MultiThreaded to false actually change anything?

Yes. MultiThreaded had no effect in earlier releases but is now a live setting. Setting it to false reads pages sequentially on a single thread, giving the lowest and most predictable memory footprint, and it overrides MaxDegreeOfParallelism. Code that set this property expecting it to be inert will read sequentially after upgrading.

Is IronOCR fully compatible with .NET 10?

.NET 10 is supported by IronOCR via its latest release version 2025.12. You can install the library using NuGet (Install-Package IronOcr) and run async methods like ReadAsync() under .NET 10 without special configuration.

Bereit anzufangen?

Nuget Downloads 6,236,385Version:2026.9gerade veröffentlicht

Holen Sie sich Ihre KOSTENLOSE

30-Tage-Testlizenz sofort.

bullet_checkedKeine Kreditkarte oder Kontoerstellung erforderlich
bullet_testTesten Sie in der Produktion
ohne Wasserzeichen
bullet_calendar30 Tage voll
funktionsfähiges Produkt
bullet_support24/5 technischer
Support während der Testphase
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach "IronOCR"
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows Installer hier herunter.

  1. Laden Sie IronOCR herunter und entpacken Sie es in einem Ordner wie ~/Libs in Ihrem Lösungsverzeichnis.
  2. Klicken Sie im Visual Studio Solution Explorer mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronOCR.dll"

Lizenzen von $999

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.