Cette rubrique s’applique à FRE for Windows.
Ajout de la bibliothèque FineReader Engine à un projet Java
ABBYY FineReader Engine comprend un fichier com.abbyy.FREngine-%BUILD_ID%.jar, qui contient la bibliothèque de classes Java pour FineReader Engine. Vous pouvez le trouver dans le dossier IncJava. Le chemin d’accès à ce fichier peut être indiqué dans le paramètre classpath sur la ligne de commande ainsi que dans les paramètres du projet de différents environnements de développement Java. Exemple :Chargement et déchargement de FineReader Engine
Vous pouvez utiliser la classe statique Engine pour charger l’objet Engine. La classe Engine fournit des méthodes qui correspondent aux fonctions d’ABBYY FineReader Engine pour charger et décharger Engine :Exemple de code
Exemple de code
Exemple de code avec InprocLoader
Exemple de code avec InprocLoader
Exemple de code avec OutprocLoader
Exemple de code avec OutprocLoader
Le fichier com.abbyy.FREngine-%BUILD_ID%.jar est une archive auto-extractible qui est extraite sur votre machine lors de la première utilisation de l’API Java FineReader Engine. Le dossier dans lequel les fichiers sont extraits par défaut est Inc\Java pour Windows. Si vous devez utiliser un autre dossier, appelez la méthode Engine.SetJNIDllFolder avant de charger Engine à l’aide de l’une des méthodes décrites ci-dessus. Pour connaître le dossier actuellement défini pour l’extraction de l’archive, appelez Engine.GetJNIDllFolder.
Utiliser Engine dans des applications Java multithread
Pour les applications Java multithread, vous pouvez utiliser la classe EnginesPool, qui offre une solution complète pour créer et gérer un pool d’objets FineReader Engine. Cette classe implémente l’interface java.lang.Runnable.
Consultez l’exemple de code EnginesPool pour voir un exemple d’utilisation de la classe EnginesPool.
Gestion des erreurs
ABBYY FineReader Engine peut lever des exceptions des types suivants :- java.lang.OutOfMemoryError
- com.abbyy.FREngine.EngineException
Appel de méthodes avec des paramètres out
Plusieurs méthodes de l’API ABBYY FineReader Engine comportent des paramètres out, qui reçoivent une nouvelle valeur après l’appel de la méthode et doivent être passés par référence. Ces paramètres sont indiqués dans la bibliothèque de types et dans la description des méthodes de cette documentation développeur comme [out] ou [in, out]. Lorsque vous travaillez avec ABBYY FineReader Engine en Java, vous devez utiliser une classe Ref spéciale pour passer un paramètre par référence. Voir les exemples ci-dessous. Exemple dans lequel les paramètres out sont passés par référence à la méthode IFRPage::FindPageSplitPosition :Exemple de code pour les paramètres out
Exemple de code pour les paramètres out
Exemple de code pour les paramètres in/out
Exemple de code pour les paramètres in/out
Exemple de code pour les paramètres out de type tableau
Exemple de code pour les paramètres out de type tableau
Gestion des ressources
FineReader Engine prend en charge l’interface AutoCloseable, ce qui vous permet d’utiliser l’instruction try pour gérer les ressources allouées aux objets. Cela signifie qu’une fois le bloc try terminé, toutes les ressources allouées sont fermées automatiquement, sans qu’il soit nécessaire d’appeler explicitement des méthodes de fermeture. Nous vous recommandons d’utiliser l’instruction try pour tous les objets de votre code (voir l’exemple ci-dessous) :Exemple de code
Exemple de code
- méthodes LoadImageDocFromMemory et OpenImageFileFromMemory de l’objet Engine
- méthode LoadFromMemory fournie par de nombreux objets
- méthode AddImageFileFromMemory de l’objet FRDocument
- méthode AddFromMemory de l’objet PDFAttachments
Utilisation des énumérations
Les méthodes et les propriétés qui acceptent une combinaison de constantes d’énumération exigent que la valeurint soit transmise à la méthode ou à la propriété. Pour obtenir la valeur int d’une constante d’énumération, utilisez la méthode getValue, prise en charge par toutes les énumérations.
Voici un exemple de code qui montre comment définir la propriété BwPictureFormats de l’objet PDFPictureCompressionParams :
