无法使用TesseractOCRConfig Apache Tika提取扫描的pdf

Ran*_*ana 3 java pdf ocr parsing apache-tika

我的pdf包含扫描的图像,我想从中提取文本.

我尝试过:我尝试使用AutoDetectParsers但没有输出.

我按照Apache Tika提取的扫描PDF文件提供的解决方案以及https://issues.apache.org/jira/browse/TIKA-1729上的 Apache Tika Jira,但获得空字符串没有任何错误.

我的配置:Win 7 64位操作系统,JDK 1.8.0_45.

欢迎任何形式的帮助.

Ran*_*ana 9

要解决此问题的步骤:

  1. 使用Windows的"tesseract-ocr-setup-3.05.00dev.exe"从以下网址安装Tesseract: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);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 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>

我认为这可能会有所帮助.谢谢.

  • 这次真是万分感谢。注意使用 levigo 和 jai 的许可影响。如果它们与 Apache 2.0 兼容,我们就会嵌入它们。 (2认同)