Apache Tika и метаданные документа

Я занимаюсь простой обработкой различных документов (ODS, MS office, pdf) с помощью Apache Tika. Я должен получить как минимум:

word count, author, title, timestamps, language etc.

, что не так-то просто. Моя стратегия заключается в использовании шаблона метода шаблона для 6 типов документов, где я сначала нахожу тип документа, и на основе этого я обрабатываю его индивидуально.

Я знаю, что apache tika должен устранить необходимость в этом, но форматы документов совершенно разные, правда?

Например,

InputStream input = this.getClass().getClassLoader().getResourceAsStream(doc);
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
Parser parser = new OfficeParser();
parser.parse(input, textHandler, metadata, new ParseContext());
input.close();

for(String s : metadata.names()) {
    System.out.println("Metadata name : "  + s);
}

Я пытался сделать это для ODS, MS office, pdf-документов, и метадада сильно отличается. Существует интерфейс MSOffice, в котором перечислены ключи метаданных для документов MS и некоторый список метаданных Dublic Core . Но как реализовать подобное приложение?

Не мог бы кто-нибудь, у кого есть опыт, поделиться своим опытом? Спасибо

7
задан lisak 26 February 2011 в 22:04
поделиться