IRONSOFTWAREHOME

C&#35 ; Prise en charge de l'asynchronisme et du multithreading avec IronOCR

Chipego
Chipego Kalinda
Updated: 29 juin 2026

IronOCR gère automatiquement le multithreading sur tous les cœurs de CPU et fournit des méthodes asynchrones comme ReadAsync() pour effectuer de l'OCR sans bloquer votre thread principal, garantissant des applications réactives tout en traitant de grands documents.

Introduction

Le traitement efficace de grands volumes de données textuelles exige à la fois précision et rapidité pour les opérations de type OCR. Cet article traite de la prise en charge asynchrone et du multithreading dans IronOCR et Tesseract. La programmation asynchrone permet une exécution non bloquante de l'OCR, ce qui permet aux applications de rester réactives pendant les tâches de reconnaissance de texte. Le multithreading offre un parallélisme qui permet d'augmenter considérablement les performances de l'OCR. Ces techniques aident les développeurs à améliorer l'efficacité et la réactivité des applications basées sur l'OCR.

Démarrage rapide : Utilisez ReadAsync pour un OCR asynchrone sans effort

Utilisez la méthode ReadAsync de IronTesseract pour effectuer de l'OCR sans bloquer votre thread principal. Cela permet d'ajouter rapidement une reconnaissance optique de caractères réactive et non bloquante à votre application. Elle fonctionne particulièrement bien lorsque le traitement de documents PDF ou la manipulation simultanée de plusieurs fichiers d'images.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copiez et exécutez cet extrait de code.

    var result = await new IronOcr.IronTesseract().ReadAsync("image.png");
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Comment fonctionne le multithreading dans IronOCR?

IronOcr améliore l'efficacité du traitement des images et de la lecture OCR grâce à un multithreading transparent, ne nécessitant aucune API spécialisée de la part des développeurs. IronTesseract exploite automatiquement tous les threads disponibles sur plusieurs cœurs, optimisant les ressources systèmes pour une exécution rapide de l'OCR. Le multithreading intégré simplifie le développement et augmente considérablement les performances en intégrant le parallélisme directement dans le flux de travail de l'OCR.

La bibliothèque multithreaded Tesseract implementation offre ces avantages clés :

  • Utilisation automatique des cœurs de CPU : IronOCR détecte et utilise tous les cœurs disponibles sans configuration manuelle
  • Opérations à sécurité intrinsèque : Toutes les opérations d'OCR sont conçues par défaut pour être à l'abri des threads
  • Gestion optimisée des ressources : Les ressources de mémoire et de traitement sont réparties efficacement entre les différents threads
  • Des performances évolutives : Le temps de traitement diminue proportionnellement au nombre de cœurs disponibles

Voici un exemple de lecture multithread en 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);
};

Pour les scénarios avancés nécessitant une configuration rapide de l'OCR, les développeurs peuvent affiner le comportement du multithreading pour répondre à des exigences de performance spécifiques tout en maintenant la précision.

Comment utiliser la prise en charge de l'asynchronisme dans IronOCR?

La programmation asynchrone optimise les performances de l'OCR en permettant aux développeurs d'exécuter des tâches d'OCR sans bloquer le thread principal. Cela permet aux applications de rester réactives lors du traitement de documents volumineux ou d'images pour la reconnaissance de texte. La prise en charge asynchrone permet au système de gérer d'autres tâches pendant que les opérations d'OCR s'exécutent en arrière-plan. Cette capacité est cruciale lors de la mise en œuvre du suivi de la progression de l'OCR dans les interfaces utilisateur.

Cette section couvre l'intégration du support asynchrone dans IronOcr, en démontrant différentes méthodes pour rendre les services OCR non bloquants. Les capacités asynchrones d'IronOCR garantissent des performances optimales à la fois pour les applications de bureau nécessitant une réactivité pendant les opérations d'OCR et pour les services web gérant plusieurs requêtes d'OCR simultanées.

Quand devrais-je utiliser des objets OcrReadTask ?

Les objets OcrReadTask améliorent le contrôle et la flexibilité dans les processus OCR avec IronOCR. Ces objets encapsulent les opérations d'OCR, permettant une gestion efficace des tâches de reconnaissance de texte. Cette section démontre l'utilisation des objets OcrReadTask dans votre flux de travail IronOCR et montre comment ils initient et optimisent les tâches d'OCR. Les objets OcrReadTask aident à maximiser les capacités d'IronOCR lors de l'orchestration d'un traitement de documents complexe ou pour ajuster la réactivité de l'application.

Les objets OcrReadTask fonctionnent mieux lorsque :

  • Vous avez besoin d'un contrôle précis de l'exécution des tâches
  • Mise en œuvre de la fonctionnalité abort token pour les opérations annulables
  • Gestion de plusieurs opérations d'OCR simultanées avec des priorités différentes
  • Intégration avec des planificateurs de tâches ou des moteurs de flux de travail personnalisés
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
}

Comment utiliser la méthode ReadAsync ?

ReadAsync() fournit un mécanisme direct pour initier des opérations d'OCR de manière asynchrone. Sans threading ni gestion de tâches complexes, les développeurs peuvent intégrer l'OCR asynchrone dans leurs applications. Cette méthode permet d'éviter que le thread principal ne se bloque pendant les tâches d'OCR, ce qui garantit la réactivité des applications.

La méthode ReadAsync fonctionne bien pour :

  • Applications de bureau qui doivent maintenir la réactivité de l'interface utilisateur
  • Applications web gérant plusieurs requêtes OCR simultanées
  • Scénarios de traitement par lots dans lesquels le suivi de la progression est essentiel
  • Intégration des modèles modernes async/await dans les applications .NET
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
}

Pourquoi utiliser l'asynchronisme et le multithreading avec IronOCR?

La combinaison de la prise en charge asynchrone et du multithreading dans IronOcr offre de nombreux avantages pour le développement d'applications modernes :

Avantages en termes de performances:

  • Amélioration du débit : Traitez plusieurs documents simultanément sans blocage
  • Meilleure utilisation des ressources : Maximiser l'utilisation de l'unité centrale sur tous les cœurs disponibles
  • Réduction de la latence : le traitement commence immédiatement sans attendre la fin des opérations précédentes
  • Architecture évolutive : gérer des charges de travail croissantes sans modification de l'architecture

Avantages du développement:

  • Code simplifié : plus besoin de gérer les threads manuellement - IronOcr se charge de la complexité
  • Modern Patterns : Prise en charge complète des modèles async/await dans Tesseract 5 for .NET
  • Intégration facile : Fonctionne de manière transparente avec l'infrastructure asynchrone .NET existante
  • Solutions évolutives : Code clair et lisible qui respecte les meilleures pratiques .NET

Le multithreading dans IronOcr optimise considérablement les tâches d'OCR. Les capacités de multithreading intégrées, combinées avec des méthodes comme ReadAsync(), simplifient la gestion de grands volumes de données textuelles. Cette combinaison garantit que les applications restent réactives et efficaces, ce qui fait d'IronOcr un outil efficace pour créer des logiciels performants avec des capacités de reconnaissance de texte rationalisées. Pour commencer à utiliser l'ensemble des fonctionnalités, consultez notre guide d'installation du paquet NuGet.

Questions Fréquemment Posées

Comment puis-je effectuer une reconnaissance optique de caractères de manière asynchrone en C# sans bloquer mon fil d'exécution principal ?

IronOCR propose la méthode ReadAsync qui permet une exécution non bloquante de l'OCR. Vous pouvez simplement utiliser `var result = await new IronOcr.IronTesseract().ReadAsync("image.png");` pour exécuter l'OCR de manière asynchrone, en gardant votre application réactive pendant le traitement des documents.

L'OCR utilise-t-elle automatiquement plusieurs cœurs d'unité centrale pour améliorer les performances ?

Oui, IronOCR exploite automatiquement tous les cœurs de processeur disponibles grâce au multithreading intégré. La mise en œuvre d'IronTesseract détecte et utilise tous les cœurs sans nécessiter de configuration manuelle, ce qui permet d'optimiser la gestion des ressources et d'obtenir des performances évolutives.

Quels sont les principaux avantages du multithreading dans le traitement OCR ?

L'implémentation multithread d'IronOCR offre une utilisation automatique des cœurs du processeur, des opérations thread-safe par défaut, une gestion optimisée des ressources pour la mémoire et le traitement, et des performances évolutives où le temps de traitement diminue proportionnellement aux cœurs disponibles.

Puis-je traiter plusieurs documents PDF simultanément avec l'OCR asynchrone ?

Oui, la méthode ReadAsync d'IronOcr fonctionne particulièrement bien lors du traitement de documents PDF ou de la manipulation simultanée de plusieurs fichiers images, vous permettant de traiter plusieurs documents simultanément sans bloquer votre application.

Dois-je écrire un code spécial pour activer le multithreading pour l'OCR ?

Non, IronOCR ne nécessite pas d'API spécialisée ni de configuration manuelle pour le multithreading. La bibliothèque intègre de manière transparente le parallélisme directement dans le flux de travail de l'OCR, en gérant automatiquement les threads sur plusieurs cœurs pour des performances optimales.

Qu'est-ce que l'objet OcrReadTask et comment contribue-t-il au traitement asynchrone ?

L'objet OcrReadTask dans IronOcr vous permet de tirer parti de la concurrence asynchrone lors du traitement des documents. Il vous permet de gérer les opérations d'OCR de manière asynchrone pendant que la bibliothèque gère la complexité du multithreading sous-jacent.

IronOCR est-il entièrement compatible avec .NET 10 ?

.NET 10 est pris en charge par IronOCR for .NET via sa dernière version 2025.12. Vous pouvez installer la bibliothèque à l'aide de NuGet (Install-Package IronOcr) et exécuter des méthodes asynchrones telles que ReadAsync() sous .NET 10 sans configuration particulière.

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.

Prêt à commencer?

Nuget Downloads 6,236,385Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et cherchez "IronOCR"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez le programme d'installation Windows ici.

  1. Téléchargez et décompressez IronOCR à un emplacement tel que ~/Libs dans votre répertoire du projet
  2. Dans l'Explorateur de Solutions de Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, "IronOCR.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise