Не удалось извлечь отсканированный PDF файл с помощью TesseractOCRConfig Apache Tika

Мой pdf файл содержит отсканированные изображения, и я хочу извлечь из него текст.

Что я пробовал: я пробовал с AutoDetectParsers, но без вывода.

Я выполнил решение, представленное в Apache Tika, отсканированное PDF файлы, а также Apache Tika Jira в https://issues.apache.org/jira/browse/TIKA-1729, но пустая строка без ошибок.

Моя конфигурация: Win 7 64-разрядная ОС, JDK 1.8.0_45.

Любая помощь приветствуется.

1 ответ

Чтобы решить эту проблему, выполните следующие действия:

  • Установите Tesseract в вашей системе, используя 'tesseract-ocr-setup-3.05.00dev.exe' для Windows от: https://sourceforge.net/projects/tesseract-ocr-alt/files/ и установите его расположение в вашей конфигурации.

    Код Java:

    Parser parser = new AutoDetectParser();
    BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
    TesseractOCRConfig config = new TesseractOCRConfig();
    config.setTesseractPath(tPath);
    PDFParserConfig pdfConfig = new PDFParserConfig();
    pdfConfig.setExtractInlineImages(true);
    pdfConfig.setExtractUniqueInlineImagesOnly(false); // set to false if pdf contains multiple images.
    ParseContext parseContext = new ParseContext();
    parseContext.set(TesseractOCRConfig.class, config);
    parseContext.set(PDFParserConfig.class, pdfConfig);
    //need to add this to make sure recursive parsing happens!
    parseContext.set(Parser.class, parser);
  • Зависимости Maven:

<dependencies> <dependency> <groupid>org.apache.tika</groupid> <artifactid>tika-parsers</artifactid> <version>1.13</version> </dependency> <dependency> <groupid>com.levigo.jbig2</groupid> <artifactid>levigo-jbig2-imageio</artifactid> <version>1.6.5</version> </dependency> <dependency> <groupid>com.github.jai-imageio</groupid> <artifactid>jai-imageio-core</artifactid> <version>1.3.1</version> </dependency> </dependencies>

Я думаю, это может быть полезно. Спасибо.

licensed under cc by-sa 3.0 with attribution.