1

tess4j テスト アプリケーションをhttp://tess4j.sourceforge.net/tutorial/として構成しました。
しかし、プロジェクトを実行すると、次のエラーが発生します。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't obtain updateLastError method for class com.sun.jna.Native
at com.sun.jna.Native.initIDs(Native Method)
at com.sun.jna.Native.<clinit>(Native.java:148)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(Unknown Source)
at net.sourceforge.tess4j.TessAPI.<clinit>(Unknown Source)
at net.sourceforge.tess4j.Tesseract.init(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at tstest.Main.main(Main.java:22)
Java Result: 1

tesseract に関連するコメントが見つかりません。このプロジェクトで誰かがやったことがあれば、助けてください。

これは私が使用しているサンプルコードです:

import java.io.*;
import net.sourceforge.tess4j.*;

public class Main {

public static void main(String[] args) {
    File imageFile = new File(System.getProperty("user.dir") + "\\images\\1.png");
    Tesseract instance = Tesseract.getInstance(); //

    try {

        String result = instance.doOCR(imageFile);
        System.out.println(result);

    } catch (TesseractException e) {
        System.err.println(e.getMessage());
    }
 }
}
4

1 に答える 1

0

どの JNA バージョンを使用していますか? 最初にビルドしましたか?リンクされたページで説明されているように。

ログイン リポジトリに基づいてhttps://github.com/twall/jna.git、メソッドupdateLastError(int e)は 2013 年 3 月に削除されました (SHA1: d8e8889d )。

JNA のバージョンを確認するには、次のコマンドを実行します。

java -jar jna.jar 

Java Native Access (JNA) API Version 4
Version: 4.2.1 (b0)
Native: 4.0.1 (1a6047467b59e8748f975e03016ce3d9)
Prefix: linux-x86-64

編集完全な簡単な例がここに投稿されました: issue-with-the-libtesseract303-dll-in-netbeans

于 2016-03-15T07:23:28.293 に答える