Тика AutoDetectParser возвращает пустую строку?

Я пытаюсь использовать AutoDetectParser от Tika для извлечения содержимого файла. Первоначально я думал, что это проблема зависимости, но не могу понять, как это все еще может быть правдой сейчас, когда я включаю все tika-app в мою банку.

AutoDetect Parser возвращает здесь пустую строку:

BodyContentHandler handler = new BodyContentHandler();  
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
FileInputStream mypdfstream = new FileInputStream(new File("mypdf.pdf"));
parser.parse(mypdfstream,handler,metadata,context);
System.out.println(handler.toString());

Еще больше меня смущает тот факт, что использование стандартного PDFParser работает нормально...:

BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
FileInputStream mypdfstream = new FileInputStream(new File("mypdf.pdf"));
PDFParser pdfparser = new PDFParser();
pdfparser.parse(mypdfstream,handler,metadata,context);
System.out.println(handler.toString());

Я включил в свой classpath и банку tika-app, и банку tika-parsers, и включил их в банку, созданную ant.

соответствующие части build.xml

<javac srcdir="${src}" destdir="${build}">
                <classpath>
                        <pathelement path = "lib/tika-app-1.11.jar"/>
                        <pathelement path = "lib/tika-parsers-1.11.jar"/>
                </classpath>
 </javac>

<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}">
        <zipgroupfileset dir="lib" includes="tika-app-1.11.jar"/>
        <zipgroupfileset dir="lib" includes="tika-parsers-1.11.jar"/>
</jar>

Изменить: я посмотрел на мой список supportedTypes с parser.getSupportTypes(context)) и было пусто Как и список парсеров, возвращаемых из parser.getParsers(),

Так что, возможно, это еще одна проблема зависимости? Это действительно удивляет меня, учитывая, что приложение tika включено.

2 ответа

У меня та же проблема, я исправил добавление зависимости Tika Core и Parser в мой Pom.xml, как это снова, и затем обновил Maven на Eclipse.

    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-core</artifactId>
      <version>1.18</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-parsers</artifactId>
      <version>1.18</version>
    </dependency>

Для меня понижение версии библиотек до 1.18 сработало. Жаль, что новые версии не работают

Другие вопросы по тегам