Тика 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 сработало. Жаль, что новые версии не работают