Cette rubrique s’applique à FRE for Windows.
Ajout de la bibliothèque FineReader Engine à un projet Java
Chargement et déchargement de FineReader Engine
| Fonction | Méthode de la classe Engine | Signature de la méthode de la classe Engine |
|---|---|---|
| InitializeEngine | InitializeEngine | csharp static public IEngine InitializeEngine( String dllFolder, String customerProjectId, String licensePath, String licensePassword, String dataFolder, String tempFolder, boolean isSharedCPUCoresMode ) throws Exception; |
| DeinitializeEngine | DeinitializeEngine | static public void DeinitializeEngine() throws Exception; |
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
| Méthode | Signature | Commentaire |
|---|---|---|
| MarshalInterface | long MarshalInterface(); | Appelle la fonction COM CoMarshalInterface pour marshaller l’interface IEngine. Cette méthode doit être appelée sur le thread où Engine a été créé, afin de garantir que les données nécessaires à la création d’un objet proxy sur un autre thread seront disponibles. Retourne le handle des données de marshaling. |
| UnmarshalInterface | csharp IEngine UnmarshalInterface( long handle ); | Appelle la fonction COM CoUnmarshalInterface pour démarshaller l’interface IEngine, c’est-à-dire créer un objet proxy avec lequel le processus client pourra interagir de la même manière qu’avec Engine lui-même. Prend en paramètre d’entrée le handle des données de marshaling (retourné par la méthode MarshalInterface) et retourne un pointeur vers l’interface IEngine. |
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
| Method | Signature | Comment |
|---|---|---|
| constructor | public EnginesPool( int enginesCount, int waitingEngineTimeout, String customerProjectId, String licensePath, String licensePassword, String dataFolder, String tempFolder, boolean isSharedCPUCoresMode ) throws Exception; | Crée un nouveau pool de enginesCount Engines. waitingEngineTimeout définit le délai d’attente pour EnginesPool.GetEngine. Les autres paramètres sont identiques à ceux de InitializeEngine |
| GetEngine | csharp public IEngine GetEngine() throws Exception; | Obtient une instance d’Engine du pool. Déclenche une exception si le délai waitingEngineTimeout est dépassé. |
| ReleaseEngine | csharp public void ReleaseEngine( IEngine engine, boolean isRecycleRequired ) throws Exception; | Replace une instance d’Engine dans le pool. Si isRecycleRequired vaut true, cette instance est supprimée et remplacée par une nouvelle (même si la limite d’utilisation n’est pas atteinte ou si le recyclage automatique est désactivé). |
| SetAutoRecycleUsageCount | public void SetAutoRecycleUsageCount( int value ); | Définit combien de fois une même instance d’Engine de ce pool peut être réutilisée avant d’être recyclée, c’est-à-dire supprimée puis remplacée automatiquement par une nouvelle. Cette valeur peut être définie sur 0 pour désactiver tout recyclage automatique (seul le recyclage manuel via ReleaseEngine sera alors possible). La valeur par défaut est 0 (aucun recyclage automatique). |
| GetAutoRecycleUsageCount | public int GetAutoRecycleUsageCount(); | Obtient la limite de réutilisation d’une instance d’Engine pour ce pool. |
| UnloadEngines | public void UnloadEngines() throws Exception; | Décharge tous les Engines et désinitialise le pool. |
Gestion des erreurs
- java.lang.OutOfMemoryError
- com.abbyy.FREngine.EngineException
Appel de méthodes avec des paramètres out
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
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
int 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 :
