The code written in Java throws the error:
What should I do?
The error is thrown if FineReader Engine's objects are handled incorrectly.
- In your code the Engine.DeinitializeEngine() method must be called;
- Engine.DeinitializeEngine() cannot be called in the same thread as the InitializeEngine(...) method.
Check the FineReader Engine's log. It should not contain entries like "Engine should be initialized and deinitialized in the same thread";
- In case you initialize the Engine object in one thread and use it in the other, PDF Support should be initialized in the same thread as the Engine object. You can do it by calling
Engine.LoadModule( FREngineModuleEnum.FREM_PDF )
Use the setting to process all PDFs in a separate thread: engine.getMultiProcessingParams().setProcessPdfInOneThread( true )
- In case the FineReader Engine's log contains entries "Wrong thread!", check that all calls to the Engine object are synchronized. It can be done explicitly or by Inproc/Outproc loading.