AnsweredAssumed Answered

HCI: How to create a stage plugin that includes a closed source JNI with multiple .so files?

Question asked by Chris Delezenski Employee on Jul 21, 2017
Latest reply on Jul 21, 2017 by Ben Isherwood

Hello Community...

 

I'm looking to develop an HCI stage for converting scanned documents into text-searchable documents using OCR software.

 

It's been suggested I use ABBYY's finereader which seems to work well.

 

So far, I've successfully used their SDK to produce a stand alone app that converts a single tif document into a text-based PDF.

 

I'd like to migrate that code into a Stage... and I've had some limited success.  I was able to create a jar that includes the ABBYY wrapper and can execute via the plugin test harness.

 

However, I need LD_LIBRARY_PATH to point to the mountain of shared library objects (.so files) so that the underlying JNI function may dynamically link to these .so's.

 

I should note, I'm not loading the .so's myself.  They are loaded implicitly by the ABBYY wrapper jar.

 

The other issue I have relates to process(), but I'll save that for a separate question.

 

If there is no good way to do this, one idea I've had is to take the closed source JNI and wrap it into a tomcat/docker container and essentially provide a RESTful micro service interface to the ABBYY SDK.

 

 

Thanks in advance!

Outcomes