2014-10-26 2 views
2

Я использую Tess4J (обертка JNA вокруг tesseract) и пытаюсь позвонить tess.doOCR(myFile) в текст OCR из одностраничного PDF-файла.Tess4J - Собственная библиотека (linux-x86-64/libtesseract.so) не найдена в пути ресурса

У меня установлен GhostScript (с использованием yum install ghostscript), gs -h работает правильно.

Мое приложение-сервер использует 64-bit JVM, и у меня есть gsdll64.dll, и 64-разрядный тессеракт DLL файлы liblept168.dll и libtesseract302.dll в пути к классам.

Когда tess.doOCR(myFile) называется это записывается:

GPL Ghostscript 8.70 (2014-09-22) 
Copyright (C) 2014 Artifex Software, Inc. All rights reserved. 
This software comes with NO WARRANTY: see the file PUBLIC for details. 
Processing pages 1 through 1. 
Page 1 

Но тогда он просто останавливается. Программа не идет дальше.

ОБНОВЛЕНИЕ -

Похоже, что реальная проблема с этой ошибкой:

java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so) not found in resource path

Посмотрев вокруг много, я не вижу, удобное место, чтобы найти это libtesseract.so, и я не уверен, что нужно, чтобы получить это на моем Linux-сервере приложений. Я читал, что, возможно, мне нужно загрузить некоторую среду выполнения C++, но я не вижу для нее загрузку Linux. Любые советы будут высоко ценится.

Или это как-то связано с символической ссылкой?

ответ

0

Эти библиотеки DLL для Windows. Для Linux вам необходимо установить или build от Tesseract source.

Эта версия GS, 8.70, довольно старая. Последняя библиотека Ghost4J, используемая Tess4J, несовместима с этим.

+0

Можно ли указать другую версию при выполнении 'yum install ghostscript'? в противном случае, что является самым простым способом установки GhostScript на Linux без 'yum install'? постскриптум спасибо за так активно помогать тем, кто пытается работать с Tess4J здесь, на SO и в других местах. – mmcrae

+0

Похоже, вы должны [build] (http://ghostscript.com/doc/current/Make.htm#Unix_build) его из [ source] (http://downloads.ghostscript.com/public/), если последнее из репозитория недоступно. – nguyenq

+0

Я переключился с дистрибутива Red Hat на Ubuntu, и он сделал процесс ** так ** намного проще для установки tesseract и ghostscript. 'apt-get install tesseract' получил установку tesseract 3.03 и работу, а' apt-get install ghostscript' получил ghostscript 9.10, работающий нормально. Тупой вопрос: если tesseract установлен и работает сам по себе, и ghostscript, мне нужен только JAR от Tess4J? (а не обучаемые данные, папка tessdata, библиотеки DLL и т. д.) – mmcrae

1

The Fix был прост для меня, просто сделайте sudo apt-get install tesseract-ocr из командной строки. Для Linux вам не нужно беспокоиться о библиотеках DDL или версии jvm. Установка tessearct из apt-get сделает трюк.

+0

Да, оглядываясь назад, проблема (я думаю) заключалась в том, что я использовал диспетчер пакетов 'yum' (на каком-то RedHat или что-то еще), а tesseract-ocr не была удобной загрузкой. Вспоминая, это был кошмар, чтобы заставить его работать, не имея его доступного через управление пакетами. Я определенно думаю, что переход на Ubuntu или что-то debian (с 'apt-get') облегчает жизнь Tesseract работе ... – mmcrae

 Смежные вопросы

  • Нет связанных вопросов^_^