Я пытался разобрать 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
Я в состоянии определить тип файла с помощью детектора апи правильно. Но я не получаю полезный контент из документа. Пожалуйста помоги!
Документ был сделан с последней версией ios. Это может быть проблемой? Я проверил документы старой версии и работает. Это проблема совместимости версий? – Sachin
И как правильно обращаться с пространствами имен? Можете ли вы привести пример? – Sachin
Похоже, что мы полагаемся на буквенное сопоставление пространств имен uri с «sf» или «sl», например, в нашей обработке qName. Например, «sf: page-start» .equals (qName) ... это все внутренние элементы Tika. Можете ли вы поделиться неудачным документом? Спасибо! –