Débogage du logiciel OCR IronOCR avec les fonctions Azure en local
Problèmes lors de l'exécution locale d'Azure
Les exceptions courantes rencontrées lors de l'utilisation de ce logiciel OCR avec Azure Functions sont les suivantes :
- Erreur lors du déploiement de Tesseract pour IronOcr
- Impossible de localiser 'libtesseract-5'
- Impossible de localiser 'libtesseract-5'
- Impossible de localiser Tesseract-5
- Erreur lors de la localisation du fichier de configuration de déploiement à l'emplacement \bin\runtimes\win-x64\native\IronOcr.Native.deployment.json
- IronOcr : Fichier .traineddata manquant pour " EnglishBest ", qui devrait se trouver à l'emplacement suivant :
Problème de Dépendances lors de l'Exécution d'Azure Functions localement
Lors de l'exécution d'Azure localement, en utilisant Azurite (VS2022) ou l'émulateur de stockage Azure (VS2019), un répertoire bin supplémentaire est créé que l'émulateur de stockage utilise pour le déploiement. Seuls les fichiers DLL sont copiés dans ce répertoire, donc les logiciels qui nécessitent des fichiers supplémentaires ne fonctionnent pas et peuvent générer l'exception ci-dessus.
Vous pouvez résoudre ce problème en copiant le répertoire runtimes dans le répertoire bin séparé utilisé par l'émulateur de stockage. Nous recommandons d'effectuer cette opération après la compilation (voir ci-dessous pour les instructions) lors d'une exécution locale (car la recompilation/compilation ramènera le répertoire bin à son état d'origine). Vous ne rencontrerez pas ce problème lors du déploiement dans le cloud.
- Problème : Lorsque vous exécutez un projet de fonction Azure localement, il crée un dossier bin supplémentaire à partir duquel il exécute la fonction. Cependant, il ne copie pas tous les fichiers nécessaires dans ce dossier bin.
- Exemple : Un projet à C:\code\azure-functions-test qui se construit à C:\code\azure-functions-test\bin\Debug\netcoreapp3.1
- Solution : Copiez le répertoire C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes afin qu'il existe également dans C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin
- Remplacez tous les fichiers existants si on vous le demande

Étapes de l'événement post-construction
- Cliquez avec le bouton droit sur le projet Azure Functions, puis sélectionnez Propriétés.
- Faites défiler vers le bas jusqu'à la section Événements.
-
Saisissez une commande d'événement post-compilation qui copiera tous les fichiers requis dans le répertoire approprié :
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DSHELL- Explication:
XCOPYest utilisé pour copier des fichiers et des arborescences de répertoires.$(TargetDir)runtimesest le répertoire source où les fichiers d'exécution sont initialement compilés.$(TargetDir)bin\runtimesest le répertoire de destination des fichiers d'exécution lorsque l'application s'exécute localement.- Options :
/Scopie les répertoires et sous-répertoires sauf ceux qui sont vides./Ecopie tous les sous-répertoires, y compris les vides./Ysupprime la confirmation d'écrasement des fichiers existants./Isi la destination n'existe pas et que vous copiez plus d'un fichier, suppose que la destination doit être un répertoire./Récrase les fichiers en lecture seule./Dcopie uniquement les fichiers plus récents ou absents de la destination.
- Explication:


