2016-04-27 10 views
2

Я пытался разобрать iWorksDoc с Apache Тика. Но я не получаю анализируемый контент, так как вместо этого получаю другой результат от обработчика содержимого. Ниже приведен фрагмент кода, который я использовал, и полученный результат.Проблема в разборе iWorksDocument с Apache Тика

private void parseFile(File file) { 
    try{ 
     File file = new File("/home/user/tika/samples/budget.numbers"); 
     FileInputStream inputStream = new FileInputStream(file); 
     ParseContext context = new ParseContext(); 
     BodyContentHandler bodyHandler = new BodyContentHandler(-1); 
     Parser parser=new AutoDetectParser(); 
     parser.parse(inputStream, bodyHandler, new Metadata(), context); 
     System.out.println("Contents of the file :"+bodyHandler.toString()); 
     } 
     catch(IOException | SAXException | TikaException e){ 
      e.printStackTrace(); 
     } 
} 

Выход: -

Contents of the file : 
Index/Document.iwa 
Index/ViewState.iwa 
Index/CalculationEngine.iwa 
Index/Tables/HeaderStorageBucket-2.iwa 
Index/Tables/Tile.iwa 
Index/Metadata.iwa 
Metadata/Properties.plist 

Я в состоянии определить тип файла с помощью детектора апи правильно. Но я не получаю полезный контент из документа. Пожалуйста помоги!

ответ

3

Tika должен иметь возможность анализировать документы Numbers. Если вы можете поделиться документом, отправьте его на наш Jira. Поскольку я смотрю на парсер, мы могли бы обрабатывать пространства имен немного более надежно, и что может быть проблемой, но я не могу сказать без документа.

+0

Документ был сделан с последней версией ios. Это может быть проблемой? Я проверил документы старой версии и работает. Это проблема совместимости версий? – Sachin

+0

И как правильно обращаться с пространствами имен? Можете ли вы привести пример? – Sachin

+0

Похоже, что мы полагаемся на буквенное сопоставление пространств имен uri с «sf» или «sl», например, в нашей обработке qName. Например, «sf: page-start» .equals (qName) ... это все внутренние элементы Tika. Можете ли вы поделиться неудачным документом? Спасибо! –