Passer au contenu du pied de page
COMPARER à D'AUTRES COMPOSANTS

Essais logiciels OCR : Découvrez les meilleures options

Pour faire fonctionner l'OCR avec le SDK Kofax OmniPage, il faut contacter l'équipe commerciale de Tungsten Automation, survivre à 4 à 12 semaines d'appels de découverte, de séances de validation de concept, de négociations contractuelles et d'approbations d'approvisionnement, avant même qu'une seule ligne de code puisse être écrite. Le SDK n'est pas disponible sur NuGet. Il arrive sous forme d'un programme d'installation personnalisé, attache un fichier de licence à une machine spécifique ou à un serveur de licence réseau, charge plus de 100 Mo de dictionnaires linguistiques et de modèles de réseaux neuronaux au démarrage, et exige un appel explicite engine.Shutdown() au risque de laisser la licence verrouillée pour tout autre processus sur ce serveur. Pour la majorité des charges de travail OCR .NET (factures, contrats, PDF numérisés, documents d'identité), ces frais généraux d'acquisition et de déploiement n'offrent aucun avantage mesurable en termes de précision par rapport à une bibliothèque que vous pouvez installer en 30 secondes.

Comprendre Kofax OmniPage

Kofax OmniPage (désormais commercialisé sous le nom de Tungsten Automation après un changement de marque en 2024) est une Suite Enterprise de capture de documents et de reconnaissance optique de caractères (OCR) ayant 30 ans d'histoire. Sa chaîne de propriété se lit comme suit : Caere Corporation → Nuance Communications (2001) → Kofax (2019) → Tungsten Automation (2024). Cet historique de propriété est important pour les équipes qui évaluent la stabilité à long terme de la plateforme.

OmniPage se positionne au niveau de précision premium et cible le traitement de documents Enterprise à volume élevé : centres de traitement de formulaires traitant des millions de pages, programmes de numérisation de documents gouvernementaux et flux de travail financiers nécessitant la RCI (reconnaissance intelligente de caractères) pour les champs manuscrits. Le kit de développement logiciel Capture (Capture SDK), qui expose les fonctionnalités OCR aux développeurs .NET , est distinct du produit de bureau OmniPage Ultimate (prix de détail : 499 $). Le SDK nécessite une acquisition distincte et propose un tarif entreprise — contactez Kofax/Tungsten Automation pour un devis. Des frais de maintenance annuels sont requis en plus du coût de la licence.

Principales caractéristiques architecturales du SDK OmniPage Capture :

  • Pas de distribution NuGet : le SDK est fourni via un programme d'installation personnalisé après la conclusion de la vente ; Les références DLL ont été ajoutées manuellement aux projets.
  • Gestion du cycle de vie du moteur : OmniPageEngine doit être initialisé avant utilisation et arrêté explicitement après ; l'absence d'appel Shutdown() peut laisser la licence verrouillée
  • Déploiement de fichier de licence : Un fichier .lic doit exister à un chemin spécifique sur chaque machine exécutant le SDK ; Les configurations de licences réseau/flottantes nécessitent l'installation d'un serveur de licences distinct avec des ports de pare-feu ouverts.
  • Empreinte matérielle : l'activation est liée au matériel ; la réactivation est nécessaire en cas de changement de matériel
  • Installation native multicomposante : les DLL du moteur OCR, les modules d'écriture manuscrite ICR, les modules de reconnaissance de marques OMR et plus de 120 dictionnaires de langues sont chargés lors de l'initialisation du moteur.
  • Plusieurs formats de sortie et modes de reconnaissance : prend en charge la reconnaissance OCR, ICR (écriture manuscrite), OMR (cases à cocher), de codes-barres et MRZ ; chaque mode est configurable par zone et par document
  • Linux ajouté dans la version 2025.3 : La version du SDK de janvier 2026 a ajouté la prise en charge des serveurs Linux ; macOSn'est toujours pas pris en charge.

Modèle d'initialisation du moteur

Chaque intégration OmniPage commence par un cycle de vie du moteur qui couvre toute la fenêtre de traitement des documents de l'application :

// OmniPage: Engine must be initialized before any operations
// License file must exist at this path on every target machine
using var engine = new OmniPageEngine();
engine.SetLicenseFile(@"C:\Program Files\OmniPage\license.lic");
engine.Initialize();  // Contacts license server; loads 100MB+ of native components

// Configure recognition settings for the document
var settings = new RecognitionSettings
{
    PrimaryLanguage = "English",
    SecondaryLanguages = new[] { "German", "French" },
    AccuracyMode = "Maximum",
    PreserveLayout = true,
    DetectTables = true,
    DespeckleLevel = 2,
    ContrastEnhancement = true,
    AutoRotate = true,
    DeskewImage = true
};

// Document-centric workflow
var document = engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(settings);
string text = document.GetText();

// Explicit cleanup — omitting this can lock the license
document.Dispose();
engine.Shutdown();
// OmniPage: Engine must be initialized before any operations
// License file must exist at this path on every target machine
using var engine = new OmniPageEngine();
engine.SetLicenseFile(@"C:\Program Files\OmniPage\license.lic");
engine.Initialize();  // Contacts license server; loads 100MB+ of native components

// Configure recognition settings for the document
var settings = new RecognitionSettings
{
    PrimaryLanguage = "English",
    SecondaryLanguages = new[] { "German", "French" },
    AccuracyMode = "Maximum",
    PreserveLayout = true,
    DetectTables = true,
    DespeckleLevel = 2,
    ContrastEnhancement = true,
    AutoRotate = true,
    DeskewImage = true
};

// Document-centric workflow
var document = engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(settings);
string text = document.GetText();

// Explicit cleanup — omitting this can lock the license
document.Dispose();
engine.Shutdown();
Imports OmniPage

' OmniPage: Engine must be initialized before any operations
' License file must exist at this path on every target machine
Using engine As New OmniPageEngine()
    engine.SetLicenseFile("C:\Program Files\OmniPage\license.lic")
    engine.Initialize()  ' Contacts license server; loads 100MB+ of native components

    ' Configure recognition settings for the document
    Dim settings As New RecognitionSettings With {
        .PrimaryLanguage = "English",
        .SecondaryLanguages = {"German", "French"},
        .AccuracyMode = "Maximum",
        .PreserveLayout = True,
        .DetectTables = True,
        .DespeckleLevel = 2,
        .ContrastEnhancement = True,
        .AutoRotate = True,
        .DeskewImage = True
    }

    ' Document-centric workflow
    Dim document = engine.CreateDocument()
    document.AddPage(imagePath)
    document.Recognize(settings)
    Dim text As String = document.GetText()

    ' Explicit cleanup — omitting this can lock the license
    document.Dispose()
    engine.Shutdown()
End Using
$vbLabelText   $csharpLabel

Ce modèle doit être reproduit pour chaque point d'intégration : les gestionnaires de requêtes ASP.NET , les services Windows, les tâches de traitement par lots et les tests unitaires doivent tous gérer le cycle de vie du moteur. Dans une configuration de licence flottante, oublier Shutdown() dans un chemin d'erreur verrouille un siège de licence pour tout autre processus jusqu'au redémarrage du serveur.

Comprendre IronOCR

IronOCR est une bibliothèque OCR .NET commerciale construite sur un moteur Tesseract 5 optimisé avec prétraitement automatique, prise en charge native du PDF et déploiement multiplateforme à partir d'un seul package NuGet . Il s'adresse aux développeurs qui ont besoin d'une solution OCR prête pour la production sans les coûts d'approvisionnement des Enterprise ni les pipelines de prétraitement manuels qu'exige Tesseract.

Caractéristiques principales :

  • Paquet NuGet unique : dotnet add package IronOcr — pas d'installateur, pas de références DLL, pas de gestion de composants natifs Licence basée sur une chaîne de caractères : une seule ligne au démarrage de l'application ; aucun fichier à déployer, aucun serveur de licences à configurer, aucune empreinte matérielle.
  • Prétraitement automatique : redressement, réduction du bruit, amélioration du contraste, binarisation et normalisation de la résolution sont appliqués automatiquement avant l'appel du moteur OCR.
  • Entrée PDF native : input.LoadPdf() gère directement les PDF numérisés ; Aucune licence de module PDF distincte requise
  • Sortie PDF consultable : result.SaveAsSearchablePdf() produit un PDF avec couche de texte à partir de toute entrée numérisée
  • Sécurisé par conception : Plusieurs instances IronTesseract s'exécutent en parallèle sans surcharge de coordination
  • Multiplateforme : Windows, Linux, macOS, Docker, Azure et AWS Lambda sont tous pris en charge par le même package NuGet.
  • 125+ langues : Chaque langue disponible en tant que package NuGet séparé (IronOcr.Languages.French, etc.)
  • Licences perpétuelles : $999 Lite / $1,499 Plus / $2,999 Professional / $5,999 Unlimited ; aucune maintenance annuelle n'est requise

Comparaison des fonctionnalités

Fonction Kit de développement logiciel Kofax OmniPage IronOCR
Distribution Programme d'installation personnalisé, références DLL manuelles Paquet NuGet
Temps d'installation 4 à 12 semaines (approvisionnement) + heures (installation) 30 secondes
Prix ​​initial Contactez les ventes Kofax/Tungsten Automation $999 Lite (publié)
Modèle de licence contrat Enterprise , maintenance annuelle Perpétuel, sans entretien requis
mécanisme de licence .lic fichier + serveur de licence optionnel Clé de chaîne ou variable d'environnement
Prise en charge de macOS Non pris en charge Prise en charge complète
Prise en charge de Linux Oui (ajouté en 2025.3) Oui (toutes versions)

Comparaison détaillée des fonctionnalités

Fonction Kit de développement logiciel Kofax OmniPage IronOCR
Acquisition
Disponibilité de NuGet Non Oui
Essai en libre-service Non (évaluation soumise à conditions de vente) Oui (essai gratuit disponible)
Prix publiés Non Oui
processus de vente requis Oui (4 à 12 semaines en général) Non
Licence
mécanisme de licence .lic fichier sur disque Clé de chaîne
Support du serveur de licences Oui (flottant/réseau) Non requis
empreinte numérique du matériel Oui Non
frais d'entretien annuels 18 à 25 % du coût de la licence En option
Frais d'exécution par page Disponible (variable) Non
Support de la plateforme
Windows x64 Oui Oui
Linux Oui (2025.3+) Oui (toutes versions)
macOS Non Oui
Docker Limité Complet
Azure / AWS Lambda Complexe Simplicité
capacités OCR
OCR (texte imprimé) Oui, plus de 120 langues Oui, plus de 125 langues
ICR (écriture manuscrite) Oui Limité
OMR (cases à cocher/bulles) Oui Non
Reconnaissance de la MRZ Oui Oui
MICR (chèques bancaires) Oui Oui
Lecture de codes-barres Module complémentaire Intégré
Saisie de documents
fichiers image Oui Oui
Entrée PDF (native) Oui (un module supplémentaire peut être nécessaire) Oui, intégré
PDF protégés par mot de passe Dépend de la configuration Oui (Password paramètre)
TIFF multipage Oui Oui
Entrée du flux Oui Oui
Sortir
Texte brut Oui Oui
PDF consultable Oui Oui
hOCR Oui Oui
Coordonnées au niveau du mot Oui Oui
scores de confiance Oui Oui
Prétraitement
redressement automatique Basé sur les paramètres API automatique et explicite
Réduction du bruit Basé sur les paramètres API automatique et explicite
Amélioration du contraste Basé sur les paramètres API automatique et explicite
Contrôle explicite du filtre Oui Oui (Deskew(), DeNoise(), etc.)
Développement
Gestion du cycle de vie du moteur Les exigences sont les suivantes Non requis
Sécurité du fil Complexe (réutilisation du moteur) Intégré
Complexité du déploiement Haute définition (fichiers de licence, composants natifs) Paquet NuGet unique

Achats Enterprise vs. Accessibilité pour les développeurs

La différence pratique la plus significative entre OmniPage et IronOCR ne réside pas dans la précision, mais dans le temps écoulé entre " J'ai besoin d'une reconnaissance optique de caractères " et " La reconnaissance optique de caractères est en cours d'exécution dans mon application ".

Approche Kofax OmniPage

Le processus d'acquisition d'OmniPage suit une séquence fixe qu'aucun développeur ne peut contourner :

Étapes de déploiement d'OmniPage (à partir du code source kofax-enterprise-ocr.cs) :

1. Processus de vente complet (4 à 12 semaines)
2. Recevez le programme d'installation du SDK de Tungsten.
3. Installez le SDK sur les machines de développement.
4. Configurer les fichiers de licence (par machine ou flottants)
5. Configurer le serveur de licences (en cas d'utilisation de licences réseau)
6. Installez les composants d'exécution sur les serveurs de production
7. Déployer les fichiers de licence en production
8. Configurer le pare-feu pour la communication avec le serveur de licences
9. Configurer la surveillance de la disponibilité des licences
10. Procédures de fermeture des documents pour la libération des licences

Les étapes 5, 8 et 9 ne sont pas des tâches de développement — elles nécessitent une coordination avec les équipes d'infrastructure et de sécurité. L'étape 7 signifie que chaque déploiement en production doit avoir le fichier .lic présent à un chemin codé en dur. L'étape 10 existe car oublier Shutdown() dans tout chemin de code verrouille un siège de licence flottant indéfiniment.

Le modèle de licence par page ajoute une couche supplémentaire de complexité opérationnelle. Les rapports d'utilisation sont transmis à un serveur de licences, le rapprochement de la facturation a lieu mensuellement ou trimestriellement, et toute augmentation imprévue du volume de documents (un nouveau client intégré, un arriéré traité) génère une facture de dépassement non prévue au budget.

Approche d'IronOCR

// Step 1: Install
// dotnet add package IronOcr

// Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

// Step 3: Read a document
var text = new IronTesseract().Read("document.jpg").Text;
// Step 1: Install
// dotnet add package IronOcr

// Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

// Step 3: Read a document
var text = new IronTesseract().Read("document.jpg").Text;
' Step 1: Install
' dotnet add package IronOcr

' Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"

' Step 3: Read a document
Dim text As String = (New IronTesseract()).Read("document.jpg").Text
$vbLabelText   $csharpLabel

Aucun programme d'installation. Aucune référence à une DLL. Aucun fichier de licence sur le disque. Pas de serveur de licences. Aucune règle de pare-feu. Aucune procédure d'arrêt. La clé de licence est une chaîne — stockez-la dans une variable d'environnement, appsettings.json ou Azure Key Vault. Changer de cible de déploiement (par exemple, d'une machine virtuelle Windows à un conteneur DockerLinux) ne nécessite aucune reconfiguration de licence.

Le guide d'installation d'IronTesseract couvre toutes les options de configuration, y compris l'injection de clés basée sur les variables d'environnement, qui supprime entièrement les chaînes de licence du code source.

Installation du SDK vs. NuGet

Le modèle de déploiement détermine si les pipelines CI/CD, les conteneurs Dockeret les fonctions cloud fonctionnent tout court, et pas seulement leur complexité de mise en place.

Approche Kofax OmniPage

Le modèle de distribution basé sur l'installateur d'OmniPage crée des frictions à chaque étape d'un pipeline de déploiement moderne. Construire un conteneur Dockernécessite que l'installateur SDK personnalisé s'exécute à l'intérieur de l'image, que le fichier de licence soit intégré ou monté à l'exécution, et que engine.Shutdown() s'exécute avant l'arrêt du conteneur. Un redémarrage de pod Kubernetes qui n'arrête pas correctement le moteur OmniPage peut laisser des sièges de licence flottants verrouillés jusqu'à ce que le délai d'expiration de l'extraction du serveur de licences expire (généralement 30 à 60 minutes).

Dans les pipelines CI/CD, chaque agent exécutant des tests d'intégration doit avoir le SDK installé et un fichier de licence valide disponible. Le parallélisme des tests est limité par le nombre de licences. Avec le modèle de facturation par page d'OmniPage, les tests automatisés consomment des pages facturables.

Le espace de noms Kofax.OmniPage.CSDK est référencé via des chemins DLL ajoutés manuellement, pas par un gestionnaire de packages. Mettre à jour vers une nouvelle version SDK signifie relancer l'installateur sur chaque machine de développement, agent de build, et serveur de production — pas d'augmentation de numéro de version dans un fichier .csproj.

Approche d'IronOCR


<PackageReference Include="IronOcr" Version="2024.x.x" />

<PackageReference Include="IronOcr" Version="2024.x.x" />
XML
# Docker: no installer, no license file mount required
FROM mcr.microsoft.com/dotnet/aspnet:8.0
RUN apt-get update && apt-get install -y libgdiplus
COPY --from=build /app/publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "YourApp.dll"]

Le guide de déploiement Docker couvre la seule dépendance Linux(libgdiplus pour le rendu d'images) et rien d'autre. Le même package NuGet s'exécute sur Linux , AWS Lambda et Azure App Service sans configuration spécifique à la plateforme. Les pipelines CI/CD restaurent le package via dotnet restore de la même manière que toute autre dépendance se restaure — pas d'étapes d'installation, pas de gestion de fichier de licence, aucune contrainte de comptage de sièges sur le parallélisme des tests.

Serveur de licences vs. clé de chaîne

L'architecture des licences détermine le risque opérationnel à 3 heures du matin lorsqu'un problème survient en production.

Approche Kofax OmniPage

La séquence de validation des licences d'OmniPage crée de multiples modes de défaillance qui n'ont rien à voir avec la reconnaissance optique de caractères (OCR) :

// OmniPage: License validation at engine startup
// Each of these can fail independently
public static void InitializeWithLicense(string licensePath)
{
    // Failure mode 1: File missing (deployment error, path misconfiguration)
    if (!File.Exists(licensePath))
        throw new LicenseException("License file not found");

    // Failure mode 2: File permissions (service account lacks read access)
    try { using var stream = File.OpenRead(licensePath); }
    catch (UnauthorizedAccessException)
    {
        throw new LicenseException("Cannot read license file — check permissions");
    }

    // Failure mode 3: License server unreachable (network partition, server restart)
    var engine = new OmniPageEngine();
    engine.SetLicenseFile(licensePath);

    try
    {
        engine.Initialize(); // Network call to license server
    }
    catch (LicenseValidationException ex)
    {
        // Could be: expired, invalid hardware, concurrent seat limit exceeded,
        // license server unreachable, or maintenance window
        throw new LicenseException($"License validation failed: {ex.Message}");
    }
}
// OmniPage: License validation at engine startup
// Each of these can fail independently
public static void InitializeWithLicense(string licensePath)
{
    // Failure mode 1: File missing (deployment error, path misconfiguration)
    if (!File.Exists(licensePath))
        throw new LicenseException("License file not found");

    // Failure mode 2: File permissions (service account lacks read access)
    try { using var stream = File.OpenRead(licensePath); }
    catch (UnauthorizedAccessException)
    {
        throw new LicenseException("Cannot read license file — check permissions");
    }

    // Failure mode 3: License server unreachable (network partition, server restart)
    var engine = new OmniPageEngine();
    engine.SetLicenseFile(licensePath);

    try
    {
        engine.Initialize(); // Network call to license server
    }
    catch (LicenseValidationException ex)
    {
        // Could be: expired, invalid hardware, concurrent seat limit exceeded,
        // license server unreachable, or maintenance window
        throw new LicenseException($"License validation failed: {ex.Message}");
    }
}
Imports System.IO

' OmniPage: License validation at engine startup
' Each of these can fail independently
Public Shared Sub InitializeWithLicense(licensePath As String)
    ' Failure mode 1: File missing (deployment error, path misconfiguration)
    If Not File.Exists(licensePath) Then
        Throw New LicenseException("License file not found")
    End If

    ' Failure mode 2: File permissions (service account lacks read access)
    Try
        Using stream = File.OpenRead(licensePath)
        End Using
    Catch ex As UnauthorizedAccessException
        Throw New LicenseException("Cannot read license file — check permissions")
    End Try

    ' Failure mode 3: License server unreachable (network partition, server restart)
    Dim engine As New OmniPageEngine()
    engine.SetLicenseFile(licensePath)

    Try
        engine.Initialize() ' Network call to license server
    Catch ex As LicenseValidationException
        ' Could be: expired, invalid hardware, concurrent seat limit exceeded,
        ' license server unreachable, or maintenance window
        Throw New LicenseException($"License validation failed: {ex.Message}")
    End Try
End Sub
$vbLabelText   $csharpLabel

Une partition réseau entre un serveur d'application et le serveur de licence échoue à chaque appel engine.Initialize() jusqu'à ce que la partition soit résolue, peu importe si la licence a été validée précédemment sur cette machine. La licence par page ajoute un quatrième mode d'échec : quota de pages épuisé en cours de traitement.

Approche d'IronOCR

// One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

// Optional: verify license status
bool isLicensed = IronOcr.License.IsLicensed;

// Works offline — no license server, no network calls at runtime
var text = new IronTesseract().Read("document.jpg").Text;
// One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

// Optional: verify license status
bool isLicensed = IronOcr.License.IsLicensed;

// Works offline — no license server, no network calls at runtime
var text = new IronTesseract().Read("document.jpg").Text;
Imports IronOcr

' One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"

' Optional: verify license status
Dim isLicensed As Boolean = IronOcr.License.IsLicensed

' Works offline — no license server, no network calls at runtime
Dim text As String = New IronTesseract().Read("document.jpg").Text
$vbLabelText   $csharpLabel

IronOCR valide la clé de licence localement. Aucun appel réseau n'a lieu pendant les opérations OCR. Un serveur de production qui perd l'accès à Internet après son démarrage continue de traiter les documents sans interruption. La page de licence couvre tous les niveaux : $999 Lite pour une utilisation par un seul développeur sur un seul projet jusqu'à $5,999 Unlimited pour les équipes sans limite de développeurs ou de projets.

La clé peut provenir d'une variable d'environnement (IRONOCR_LICENSE_KEY) sans modification du code, ce qui est simple pour utiliser différentes clés entre développement, préproduction et production sans modifier les binaires déployés.

Stabilité de la feuille de route

Un historique de quatre changements de propriétaire constitue un facteur de risque en matière d'approvisionnement sur lequel les équipes d'infrastructure et de sécurité s'interrogent, et les développeurs devraient avoir une réponse honnête prête à être fournie.

Approche Kofax OmniPage

La chaîne de propriété d'OmniPage depuis 2001 : Caere → Nuance → Kofax → Tungsten Automation. Chaque acquisition a introduit une période de transition durant laquelle les URL de la documentation sont devenues inopérantes, les canaux de support ont changé, les réseaux de partenaires ont été restructurés et les accords de licence Enterprise ont dû être renégociés selon de nouvelles conditions. La sortie en janvier 2026 du SDK OmniPage Capture 2025.3 (qui a ajouté la prise en charge de Linux) confirme un développement actif, mais le changement de marque de Tungsten Automation date de moins de deux ans et la documentation de la feuille de route du produit était indiquée comme " en cours de révision " pendant cette transition.

Pour les équipes qui souscrivent à des contrats Enterprise de 3 à 5 ans, la question n'est pas de savoir si OmniPage fonctionne aujourd'hui (il fonctionne), mais plutôt si les priorités stratégiques de Tungsten Automation en 2028 correspondent à la feuille de route actuelle du produit. Les acquisitions de logiciels Enterprise entraînent fréquemment une mise en maintenance des produits acquis lorsque les priorités de la feuille de route de l'acquéreur Shift sur les composants de sa propre plateforme.

La migration de la documentation à elle seule crée des frictions opérationnelles : les tickets de support de l'ère Kofax, les signets de documentation et les messages du forum communautaire faisant référence à d'anciennes structures d'URL ne se résolvent plus correctement, ce qui ajoute des frictions à l'expérience de support au moment précis où les développeurs ont le plus besoin d'aide (lors d'incidents et d'intégrations complexes).

Approche d'IronOCR

Iron Software est une entreprise spécialisée dans les outils de développement dont la ligne de produits entière est composée de bibliothèques .NET. IronOCR, IronPDF, IronBarcode et les produits associés constituent le cœur de métier de l'entreprise — et non un produit acquis et intégré à une plateforme d'automatisation Enterprise plus vaste. L'historique des versions montre des mises à jour régulières, alignées sur le rythme de publication de .NET (prenant en charge .NET 8, .NET 9 et ciblant la compatibilité avec .NET 10). Le centre de documentation et les tutoriels sont maintenus sous des URL stables avec un contenu spécifique à chaque version.

Référence de mappage d'API

Concept Kofax OmniPage Équivalent d'IronOCR
using Kofax.OmniPage.CSDK; using IronOcr;
OmniPageEngine Non requis (pas de cycle de vie du moteur)
engine.SetLicenseFile(path) IronOcr.License.LicenseKey = "key";
engine.Initialize() Non requis
engine.Shutdown() Non requis
engine.CreateDocument() new OcrInput()
document.AddPage(imagePath) input.LoadImage(imagePath)
engine.OpenPDF(pdfPath) input.LoadPdf(pdfPath)
document.Recognize(settings) new IronTesseract().Read(input)
document.GetText() result.Text
document.Dispose() using var input = new OcrInput() (automatique)
engine.LoadLanguageDictionary("German") dotnet add package IronOcr.Languages.German
settings.PrimaryLanguage = "English" ocr.Language = OcrLanguage.English;
settings.SecondaryLanguages = new[] { "German" } ocr.AddSecondaryLanguage(OcrLanguage.German);
settings.AccuracyMode = "Maximum" input.EnhanceResolution(300); + filtres de prétraitement
settings.DeskewImage = true input.Deskew();
settings.ContrastEnhancement = true input.Contrast();
settings.DespeckleLevel = 2 input.DeNoise();
pdfDocument.SaveAs(path, outputSettings) result.SaveAsSearchablePdf(path)
Comptage des licences par page Non applicable (pas de frais par page)
.lic fichier sur disque Sans objet
configuration du port du serveur de licences Sans objet

Quand les équipes envisagent de passer de Kofax OmniPage à IronOCR

Le plafond budgétaire est atteint.

Une équipe Enterprise utilisant OmniPage pour le traitement des contrats atteint naturellement un plafond lorsque le volume de documents augmente et que les coûts de licence par page augmentent en conséquence. Les frais d'exécution s'accumulent annuellement en plus de la licence SDK et de la maintenance. Le cas commercial pour une licence perpétuelle unique $2,999 IronOCR Professional devient simple : la licence perpétuelle s'amortit rapidement comparée aux frais continus par page. Les équipes occupant ce poste effectuent généralement une validation parallèle de l'exactitude sur 1 000 documents représentatifs, constatent que l'écart d'exactitude entre OmniPage et IronOCR est inférieur à 1 % sur le contenu standard des factures et des contrats, et terminent la migration en moins de deux semaines.

Le calendrier d'approvisionnement bloque la livraison des produits

Une start-up ou une PME développant une fonctionnalité de numérisation de documents découvre que le fournisseur de technologie OCR, qui exige 4 à 12 semaines de prospection commerciale, ne pourra pas respecter la date de lancement de son produit. Le chef de produit ne dispose pas de 8 semaines pour l'approvisionnement. IronOCR s'installe depuis NuGet en 30 secondes ; La clé de licence disponible sur la page produit IronOCR est en libre-service. La fonctionnalité est ensuite déployée. Ce scénario n'est pas hypothétique : c'est la raison la plus courante invoquée par les équipes de développement lorsqu'elles expliquent a posteriori leurs choix technologiques à la direction technique.

Modifications de la topologie de déploiement

Une équipe utilisant OmniPage sur des serveurs Windows décide de migrer vers un déploiement conteneurisé sur Kubernetes. Le programme d'installation du SDK OmniPage ne s'intègre pas facilement dans un pipeline de construction Docker, le fichier de licence doit être monté ou intégré à l'image (les deux ont des implications en matière de sécurité), et les redémarrages de conteneurs nécessitent une gestion propre du cycle de vie d'arrêt/démarrage du moteur. Pour passer à une échelle horizontale de 10 conteneurs, il faut 10 licences flottantes ou 10 licences liées à un nœud. Le modèle de déploiement NuGet d'IronOCR, ses clés de licence basées sur des variables d'environnement et sa validation de licence hors ligne simplifient le déploiement conteneurisé. La documentation de déploiement Docker couvre l'intégralité de la configuration, et la mise à l'échelle horizontale ne nécessite aucune action de licence supplémentaire — la licence Illimitée couvre un nombre illimité de déploiements.

L'exigence ICR disparaît

De nombreuses équipes adoptent initialement OmniPage car une exigence des parties prenantes mentionnait la " reconnaissance de l'écriture manuscrite " parmi ses fonctionnalités. Lorsque ce besoin est précisé — il s'avère qu'il s'agit de formulaires imprimés avec des cases à cocher et non de champs manuscrits libres — la justification de la tarification Enterprise par l'ICR disparaît. IronOCR gère la détection des cases à cocher grâce à ses fonctionnalités OMR et à l'extraction de données structurées, à un coût bien moindre. Les équipes qui réévaluent régulièrement leur corpus documentaire constatent souvent que plus de 95 % de celui-ci est constitué de PDF imprimés et de factures numérisées, domaines où l'avantage de la reconnaissance optique de caractères (ICR) d'OmniPage n'est jamais exploité.

L'incertitude liée à l'acquisition de tungstène déclenche une analyse des risques

Les équipes d'approvisionnement des Enterprise effectuent des évaluations périodiques des risques liés aux fournisseurs. Lorsqu'un fournisseur d'outils a changé de propriétaire quatre fois en 25 ans, que le dernier changement de marque date de moins de deux ans et que la documentation relative à la feuille de route du produit a été marquée " en cours de révision " pendant la transition, certaines équipes choisissent de réduire le risque de concentration des fournisseurs en transférant une charge de travail vers un fournisseur d'outils de développement stable et spécialisé. Il s'agit d'une décision autant commerciale que technique : la précision de la reconnaissance optique de caractères (OCR) d'IronOCR sur les documents commerciaux standard est comparable à celle d'OmniPage, et la migration évite d'avoir à discuter du renouvellement des contrats Enterprise lors du cycle budgétaire annuel.

Considérations courantes en matière de migration

Cycle de vie du moteur jusqu'aux appels sans état

Les intégrations OmniPage sont construites autour d'une instance OmniPageEngine de longue durée qui doit être initialisée au démarrage et arrêtée à la sortie du processus. IronOCR n'a pas de cycle de vie équivalent. La classe IronTesseract est instanciée par appel ou partagée comme un service de longue durée — les deux modèles fonctionnent.

// OmniPage pattern: service class with engine lifecycle
public class KofaxDocumentService : IDisposable
{
    private OmniPageEngine _engine;

    public KofaxDocumentService(string licensePath)
    {
        _engine = new OmniPageEngine();
        _engine.SetLicenseFile(licensePath);
        _engine.Initialize();
    }

    public string ProcessDocument(string imagePath)
    {
        var document = _engine.CreateDocument();
        document.AddPage(imagePath);
        document.Recognize(new RecognitionSettings { Language = "English" });
        string text = document.GetText();
        document.Dispose();  // Must not be forgotten
        return text;
    }

    public void Dispose()
    {
        _engine.Shutdown();  // Must not be forgotten
    }
}

// IronOCR equivalent: no lifecycle management needed
public class IronOcrDocumentService
{
    private readonly IronTesseract _ocr;

    public IronOcrDocumentService()
    {
        _ocr = new IronTesseract();
        _ocr.Language = OcrLanguage.English;
    }

    public string ProcessDocument(string imagePath)
    {
        using var input = new OcrInput();
        input.LoadImage(imagePath);
        return _ocr.Read(input).Text;
    }
    // Non Dispose — no unmanaged resources to release
}
// OmniPage pattern: service class with engine lifecycle
public class KofaxDocumentService : IDisposable
{
    private OmniPageEngine _engine;

    public KofaxDocumentService(string licensePath)
    {
        _engine = new OmniPageEngine();
        _engine.SetLicenseFile(licensePath);
        _engine.Initialize();
    }

    public string ProcessDocument(string imagePath)
    {
        var document = _engine.CreateDocument();
        document.AddPage(imagePath);
        document.Recognize(new RecognitionSettings { Language = "English" });
        string text = document.GetText();
        document.Dispose();  // Must not be forgotten
        return text;
    }

    public void Dispose()
    {
        _engine.Shutdown();  // Must not be forgotten
    }
}

// IronOCR equivalent: no lifecycle management needed
public class IronOcrDocumentService
{
    private readonly IronTesseract _ocr;

    public IronOcrDocumentService()
    {
        _ocr = new IronTesseract();
        _ocr.Language = OcrLanguage.English;
    }

    public string ProcessDocument(string imagePath)
    {
        using var input = new OcrInput();
        input.LoadImage(imagePath);
        return _ocr.Read(input).Text;
    }
    // Non Dispose — no unmanaged resources to release
}
Imports System

' OmniPage pattern: service class with engine lifecycle
Public Class KofaxDocumentService
    Implements IDisposable

    Private _engine As OmniPageEngine

    Public Sub New(licensePath As String)
        _engine = New OmniPageEngine()
        _engine.SetLicenseFile(licensePath)
        _engine.Initialize()
    End Sub

    Public Function ProcessDocument(imagePath As String) As String
        Dim document = _engine.CreateDocument()
        document.AddPage(imagePath)
        document.Recognize(New RecognitionSettings With {.Language = "English"})
        Dim text As String = document.GetText()
        document.Dispose()  ' Must not be forgotten
        Return text
    End Function

    Public Sub Dispose() Implements IDisposable.Dispose
        _engine.Shutdown()  ' Must not be forgotten
    End Sub
End Class

' IronOCR equivalent: no lifecycle management needed
Public Class IronOcrDocumentService

    Private ReadOnly _ocr As IronTesseract

    Public Sub New()
        _ocr = New IronTesseract()
        _ocr.Language = OcrLanguage.English
    End Sub

    Public Function ProcessDocument(imagePath As String) As String
        Using input As New OcrInput()
            input.LoadImage(imagePath)
            Return _ocr.Read(input).Text
        End Using
    End Function
    ' Non Dispose — no unmanaged resources to release
End Class
$vbLabelText   $csharpLabel

Le modèle using var input = new OcrInput() gère le nettoyage des ressources pour les données d'entrée. L'instance IronTesseract elle-même ne porte aucun état non géré nécessitant un démantèlement explicite.

Traitement PDF sans licence de module séparée

Le traitement des fichiers PDF avec OmniPage nécessite généralement une configuration de format de sortie spécifique et, selon l'édition du SDK, une licence de module PDF distincte. La prise en charge de l'entrée PDF d'IronOCR est intégrée au package NuGet de base. Les PDF numérisés, les PDF natifs et les PDF protégés par mot de passe utilisent tous la même interface API.

// Extract text from a scanned PDF — no extra module or license
using var input = new OcrInput();
input.LoadPdf("scanned-contract.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);

// Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf");

// Process specific pages from a large PDF
using var input = new OcrInput();
input.LoadPdfPages("large-report.pdf", 1, 10);  // Pages 1–10 only
var result = new IronTesseract().Read(input);
// Extract text from a scanned PDF — no extra module or license
using var input = new OcrInput();
input.LoadPdf("scanned-contract.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);

// Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf");

// Process specific pages from a large PDF
using var input = new OcrInput();
input.LoadPdfPages("large-report.pdf", 1, 10);  // Pages 1–10 only
var result = new IronTesseract().Read(input);
Imports IronOcr

' Extract text from a scanned PDF — no extra module or license
Using input As New OcrInput()
    input.LoadPdf("scanned-contract.pdf")
    Dim result = New IronTesseract().Read(input)
    Console.WriteLine(result.Text)
End Using

' Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf")

' Process specific pages from a large PDF
Using input As New OcrInput()
    input.LoadPdfPages("large-report.pdf", 1, 10)  ' Pages 1–10 only
    Dim result = New IronTesseract().Read(input)
End Using
$vbLabelText   $csharpLabel

Le guide de sortie PDF consultable couvre l'intégration de la couche de texte qui rend les PDF numérisés indexables dans les systèmes de gestion de documents — une exigence courante dans les mêmes flux de travail où OmniPage est déployé.

Distribution des packs de langue

Les dictionnaires de langue OmniPage font partie de l'installation du SDK et se chargent au démarrage du moteur, que le document actuel en ait besoin ou non. Les packs de langue IronOCR sont des packages NuGet distincts ; Seules les langues installées et référencées sont chargées.

// Add language packs as NuGet packages, not installer components
// dotnet add package IronOcr.Languages.German
// dotnet add package IronOcr.Languages.French

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
ocr.AddSecondaryLanguage(OcrLanguage.German);
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput();
input.LoadImage("multilingual-document.jpg");
var result = ocr.Read(input);
// Add language packs as NuGet packages, not installer components
// dotnet add package IronOcr.Languages.German
// dotnet add package IronOcr.Languages.French

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
ocr.AddSecondaryLanguage(OcrLanguage.German);
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput();
input.LoadImage("multilingual-document.jpg");
var result = ocr.Read(input);
Imports IronOcr

' Add language packs as NuGet packages, not installer components
' dotnet add package IronOcr.Languages.German
' dotnet add package IronOcr.Languages.French

Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English
ocr.AddSecondaryLanguage(OcrLanguage.German)
ocr.AddSecondaryLanguage(OcrLanguage.French)

Using input As New OcrInput()
    input.LoadImage("multilingual-document.jpg")
    Dim result = ocr.Read(input)
End Using
$vbLabelText   $csharpLabel

Le guide multilingue couvre les modèles de combinaison linguistique. Les packs de langue se restaurent via dotnet restore dans les pipelines CI/CD sans implication d'installateur. Le catalogue complet des langues répertorie l'ensemble des plus de 125 packs disponibles.

Prétraitement : Pipeline d'objets de paramètres vs. Pipeline de méthodes

OmniPage configure le prétraitement via un objet RecognitionSettings ou PreprocessingSettings passé au moteur. IronOCR expose le prétraitement comme une pipeline de méthodes sur OcrInput. Le comportement est équivalent ; Le modèle d'invocation diffère.

// OmniPage: preprocessing embedded in RecognitionSettings
var preprocessSettings = new PreprocessingSettings
{
    AutoRotate = true,
    Deskew = true,
    DespeckleLevel = 2,
    ContrastEnhancement = true,
    NoiseReduction = true
};
var recognitionSettings = new RecognitionSettings
{
    Language = "English",
    Preprocessing = preprocessSettings
};

// IronOCR: preprocessing as method pipeline on OcrInput
using var input = new OcrInput();
input.LoadImage(imagePath);
input.Deskew();
input.DeNoise();
input.Contrast();
input.Binarize();
input.EnhanceResolution(300);
var result = new IronTesseract().Read(input);
// OmniPage: preprocessing embedded in RecognitionSettings
var preprocessSettings = new PreprocessingSettings
{
    AutoRotate = true,
    Deskew = true,
    DespeckleLevel = 2,
    ContrastEnhancement = true,
    NoiseReduction = true
};
var recognitionSettings = new RecognitionSettings
{
    Language = "English",
    Preprocessing = preprocessSettings
};

// IronOCR: preprocessing as method pipeline on OcrInput
using var input = new OcrInput();
input.LoadImage(imagePath);
input.Deskew();
input.DeNoise();
input.Contrast();
input.Binarize();
input.EnhanceResolution(300);
var result = new IronTesseract().Read(input);
Imports IronOcr

' OmniPage: preprocessing embedded in RecognitionSettings
Dim preprocessSettings As New PreprocessingSettings With {
    .AutoRotate = True,
    .Deskew = True,
    .DespeckleLevel = 2,
    .ContrastEnhancement = True,
    .NoiseReduction = True
}
Dim recognitionSettings As New RecognitionSettings With {
    .Language = "English",
    .Preprocessing = preprocessSettings
}

' IronOCR: preprocessing as method pipeline on OcrInput
Using input As New OcrInput()
    input.LoadImage(imagePath)
    input.Deskew()
    input.DeNoise()
    input.Contrast()
    input.Binarize()
    input.EnhanceResolution(300)
    Dim result = New IronTesseract().Read(input)
End Using
$vbLabelText   $csharpLabel

Le guide de correction de la qualité d'image couvre tous les filtres disponibles. Pour les documents où le prétraitement automatique par défaut est suffisant, aucun appel explicite n'est nécessaire : IronOCR applique automatiquement la correction de la courbure, la réduction du bruit et l'amélioration du contraste.

Fonctionnalités supplémentaires d'IronOCR

Outre les fonctionnalités abordées dans les sections comparatives ci-dessus, IronOCR offre :

  • OCR basé sur la région : Définir des zones CropRectangle pour extraire du texte de zones spécifiques d'un document — champs de numéro de facture, régions d'en-tête, blocs de signature — sans traiter toute la page
  • OCR asynchrone : Prise en charge native de l'OCR asynchrone non bloquante dans les gestionnaires de requêtes et les services en arrière-plan ASP.NET
  • Suivi de la progression : Le traitement de documents multipages expose des rappels de progression pour le retour d'information de l'interface utilisateur dans les opérations par lots de longue durée
  • Traitement des documents numérisés : Conseils spécifiques pour les profils de qualité de numérisation les plus courants dans les flux de travail de capture de documents en Enterprise
  • Extraction de tableaux : Lecture structurée des tableaux à partir de documents numérisés, renvoyant les données au niveau des cellules avec positionnement des lignes et des colonnes

Compatibilité .NET et préparation à l'avenir

IronOCR cible .NET 8 et .NET 9, la compatibilité avec .NET 10 suivant le calendrier de publication standard. La bibliothèque est livrée sous forme de package NuGet multiplateforme sans packages spécifiques à la plate-forme à gérer — la même entrée <PackageReference Include="IronOcr" /> fonctionne sur Windows, Linux, et macOSpour les builds CI. Le SDK Kofax OmniPage 2025.3 a ajouté la prise en charge de Linuxen janvier 2026, mais ne prend pas en charge macOS, ce qui limite les environnements de développement pour les équipes utilisant du matériel Apple Silicon. IronOCR prend en charge MAUI, Blazor Server, ASP.NET Core, Worker Services, Azure Functions et les applications console à partir du même package, sans qu'aucune variante spécifique au framework ne soit requise. Les équipes ciblant des architectures de déploiement natives du cloud (microservices conteneurisés, fonctions sans serveur, charges de travail Kubernetes) trouveront que le modèle de dépendance d'IronOCR — un seul package NuGet sans installation ni fichier de licence requis — est beaucoup plus compatible avec l'infrastructure en tant que code et les modèles de déploiement immuables.

Conclusion

Kofax OmniPage est une véritable référence en matière de précision pour la capture de documents en Enterprise à haut volume, notamment pour la reconnaissance d'écriture manuscrite ICR et le traitement des formulaires OMR. Les organisations qui traitent des millions de pages via des centres de traitement de formulaires, des programmes de numérisation gouvernementaux ou des flux de travail de documents bancaires — et qui disposent déjà d'une infrastructure d'approvisionnement Enterprise — l'utilisent pour des raisons justifiées. Ce bilan de précision sur 30 ans est bien réel.

Le modèle d'approvisionnement et l'architecture de déploiement qui étaient pertinents pour les logiciels de gestion de documents Enterprise en 2005 créent des frictions importantes en 2026. NuGet n'existait pas lorsque le modèle de distribution du SDK d'OmniPage a été conçu. Les pipelines CI/CD, les conteneurs Dockeret les fonctions sans serveur n'étaient pas des cibles de déploiement. Une architecture de licence construite autour de fichiers .lic, d'empreintes matérielles, et de serveurs de licence réseau est structurellement incompatible avec les images de conteneurs immuables et l'infrastructure cloud à échelle automatique.

Pour l'immense majorité des charges de travail OCR .NET (factures, contrats, PDF numérisés, documents d'identité, reçus), la différence de précision entre OmniPage et IronOCR sur des documents propres à modérément dégradés est inférieure à 1 %. Ce 1% ne justifie pas un délai de 4 à 12 semaines pour l'acquisition, des prix d'entrée significatifs, des frais de maintenance annuels, des coûts d'exécution par page, le surcoût opérationnel d'un serveur de licence, et un modèle de déploiement qui entre en conflit avec l'infrastructure conteneurisée. IronOCR à $999 perpétuelle offre une précision de plus de 95 % sur le contenu des documents professionnels standards, s'installe en 30 secondes, se déploie sur Dockeret Linuxsans étapes d'installation, et se licence via une clé de chaîne sans dépendance réseau à l'exécution.

La comparaison qui importe n'est pas la précision de la reconnaissance automatique de documents (ICR) d'OmniPage sur des documents historiques dégradés par rapport à celle d'IronOCR, mais plutôt de savoir si tout projet nécessitant réellement ce niveau de précision dispose également de l'infrastructure d'approvisionnement Enterprise , de la capacité opérationnelle du serveur de licences et de la tolérance de déploiement pour la distribution de kits de développement logiciel (SDK) basés sur un programme d'installation. Si les trois réponses sont oui, OmniPage est une option valable. Si une seule réponse est non, la documentation IronOCR fournit toutes les informations nécessaires pour une mise en production immédiate.

Veuillez noterKofax OmniPage, OpenPDF, et Tesseract sont des marques déposées de leurs propriétaires respectifs. Ce site n'est pas affilié à, approuvé par ou sponsorisé par Google, Kofax, ou LibrePDF. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.

Questions Fréquemment Posées

Qu'est-ce que Kofax OmniPage ?

Kofax OmniPage est une solution OCR utilisée par les développeurs et les entreprises pour extraire du texte à partir d'images et de documents. Il s'agit de l'une des nombreuses options d'OCR évaluées aux côtés d'IronOCR pour le développement d'applications .NET.

Comment IronOCR se compare-t-il à Kofax OmniPage for .NET developers ?

IronOCR est une bibliothèque OCR .NET native de NuGet qui utilise IronTesseract comme moteur principal. Par rapport à Kofax OmniPage, elle offre un déploiement plus simple (pas d'installateurs SDK), une tarification forfaitaire et une API C# propre sans interopérabilité COM ni dépendances cloud.

IronOCR est-il plus facile à installer que Kofax OmniPage ?

IronOCR s'installe via un seul package NuGet. Il n'y a pas d'installateur SDK, de fichiers de licence à copier, de composants COM à enregistrer ou de binaires d'exécution séparés à gérer. L'ensemble du moteur d'OCR est inclus dans le package.

Quelles sont les différences de précision entre Kofax OmniPage et IronOcr ?

IronOcr atteint une grande précision de reconnaissance pour les documents commerciaux standard, les factures, les reçus et les formulaires numérisés. Pour les documents très dégradés ou les scripts peu courants, la précision varie en fonction de la qualité de la source. IronOCR comprend des filtres de prétraitement d'image pour améliorer la reconnaissance sur des entrées de faible qualité.

IronOCR prend-il en charge l'extraction de texte au format PDF ?

Oui. IronOCR extrait le texte des PDF natifs et des images PDF numérisées en un seul appel. Il prend également en charge les fichiers TIFF multipages, les images et les flux. Pour les PDF numérisés, l'OCR est appliquée page par page avec des objets de résultat par page.

Comment la licence de Kofax OmniPage se compare-t-elle à celle d'IronOcr ?

IronOCR utilise une licence perpétuelle forfaitaire sans frais par page ou par scan. Les organisations qui traitent de gros volumes de documents paient le même coût de licence, quel que soit le volume. Les détails et la tarification au volume se trouvent sur la page de licence d'IronOCR.

Quelles langues IronOCR prend-il en charge ?

IronOcr prend en charge 127 langues via des packs linguistiques NuGet distincts. L'ajout d'une langue nécessite une seule commande "dotnet add package IronOcr.Languages.{Language}". Il n'est pas nécessaire de placer manuellement des fichiers ou de configurer des chemins d'accès.

Comment installer IronOCR dans un projet .NET ?

Installation via NuGet : 'Install-Package IronOcr' dans la console du Package Manager ou 'dotnet add package IronOcr' dans le CLI. Les packs de langues supplémentaires sont installés de la même manière. Aucun programme d'installation du SDK n'est nécessaire.

IronOcr est-il adapté à Docker et aux déploiements conteneurisés, contrairement à Kofax OmniPage ?

Oui. IronOCR fonctionne dans les conteneurs Docker via son package NuGet. La clé de licence est définie via une variable d'environnement. Aucun fichier de licence, chemin d'accès au SDK ou montage de volume n'est nécessaire pour le moteur OCR lui-même.

Puis-je essayer IronOCR avant de l'acheter, par rapport à Kofax OmniPage ?

Oui. Le mode d'essai d'IronOcr traite les documents et renvoie les résultats de l'OCR avec un filigrane en surimpression sur la sortie. Vous pouvez vérifier la précision sur vos propres documents avant d'acheter une licence.

IronOCR prend-il en charge la lecture de codes-barres parallèlement à l'extraction de texte ?

IronOCR se concentre sur l'extraction de texte et l'OCR. Pour la lecture de codes-barres, Iron Software propose IronBarcode comme bibliothèque d'accompagnement. Les deux sont disponibles individuellement ou dans le cadre de l'offre groupée Iron Suite.

Est-il facile de migrer de Kofax OmniPage à IronOCR ?

La migration de Kofax OmniPage vers IronOcr implique généralement le remplacement des séquences d'initialisation par l'instanciation d'IronTesseract, la suppression de la gestion du cycle de vie de COM et la mise à jour des appels d'API. La plupart des migrations réduisent considérablement la complexité du code.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi