Tesseract в Intellij не может читать pdf, потому что библиотека gsdll64 не может загрузить - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь прочитать PDF-файл с помощью программы чтения Tesseract OCR. Тем не менее, он работает с файлами изображений. 1 как зависимость.

Изменена версия java на 13 .

Добавлен следующий код:

import net.sourceforge.tess4j.Tesseract;

import java.io.File;

public class OcrReader {

public static void main(String[] args) throws Exception{
    String inputFilePath = "C:\\Users\\non\\Desktop\\1.pdf";

    Tesseract tesseract = new Tesseract();
    tesseract.setDatapath("C:\\Users\\non\\Desktop\\tessdata\\");
  //tesseract.setLanguage("dan");
    String string = tesseract.doOCR(new File(inputFilePath));
    System.out.println(string);
}
}

Впоследствии я получаю следующую ошибку:

10:40:46.208 [main] ERROR net.sourceforge.tess4j.util.PdfGsUtilities - Unable to load library 'gsdll64':
The specified module could not be found.

The specified module could not be found.

The specified module could not be found.

Native library (win32-x86-64/gsdll64.dll) not found in resource path (C:\Users\non\IdeaProjects\OcrSample\target\classes;C:\Users\non\.m2\repository\net\sourceforge\tess4j\tess4j\4.4.1\tess4j-4.4.1.jar;C:\Users\non\.m2\repository\net\java\dev\jna\jna\5.4.0\jna-5.4.0.jar;C:\Users\non\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.4.0\jai-imageio-core-1.4.0.jar;C:\Users\non\.m2\repository\org\ghost4j\ghost4j\1.0.1\ghost4j-1.0.1.jar;C:\Users\non\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\non\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\non\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\non\.m2\repository\org\apache\xmlgraphics\xmlgraphics-commons\1.4\xmlgraphics-commons-1.4.jar;C:\Users\non\.m2\repository\com\lowagie\itext\2.1.7\itext-2.1.7.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox\2.0.17\pdfbox-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\fontbox\2.0.17\fontbox-2.0.17.jar;C:\Users\non\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox-tools\2.0.17\pdfbox-tools-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox-debugger\2.0.17\pdfbox-debugger-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\jbig2-imageio\3.0.2\jbig2-imageio-3.0.2.jar;C:\Users\non\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\non\.m2\repository\net\sourceforge\lept4j\lept4j\1.12.3\lept4j-1.12.3.jar;C:\Users\non\.m2\repository\org\jboss\jboss-vfs\3.2.14.Final\jboss-vfs-3.2.14.Final.jar;C:\Users\non\.m2\repository\org\jboss\logging\jboss-logging\3.1.4.GA\jboss-logging-3.1.4.GA.jar;C:\Users\non\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\non\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\non\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\non\.m2\repository\org\slf4j\jul-to-slf4j\1.7.28\jul-to-slf4j-1.7.28.jar;C:\Users\non\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.28\jcl-over-slf4j-1.7.28.jar;C:\Users\non\.m2\repository\org\slf4j\log4j-over-slf4j\1.7.28\log4j-over-slf4j-1.7.28.jar)

10:40:46.849 [main] DEBUG org.apache.fontbox.ttf.PostScriptTable - No PostScript name information is provided for the font Cambria

Как мне go решить эту проблему?

1 Ответ

0 голосов
/ 05 мая 2020

Правильно ли вы устанавливаете Ghostscript?

Он должен включать файл gsdll32.dll.

Если нет, скачайте установщик Ghostscript для Win64 по этой ссылке https://www.ghostscript.com/download/gsdnld.html и запустите его.

После установки в каталоге должен быть файл gsdll64.dll

% your_install_dir% \ gs \ gs9.05 \ bin \

Надеюсь это решит ваша проблема.

...