В настоящее время я пишу программу на Java для извлечения метаданных из нескольких типов документов. На данный момент я пытаюсь извлечь метаданные из файлов .vsd с помощью Apache Tika. Раньше я пытался использовать Apache POI напрямую, но дело в том, что очень сложно найти какую-либо документацию по этой неиспользуемой части библиотеки, поэтому я решил использовать Tika.
Итак, вот пример кода, на котором я падаю (крах в строке: 7):
ParseContext context = new ParseContext();
Metadata metadata = new Metadata();
WriteOutContentHandler handler = new WriteOutContentHandler(10 * 1024 * 1024);
try {
FileInputStream fis = new FileInputStream(fileName);
OfficeParser officeParser = new OfficeParser();
officeParser.parse(fis, handler, metadata, context);
String[] metadataNames = metadata.names();
// Display all metadata
for (String name : metadataNames) {
System.out.println(name + ": " + metadata.get(name));
}
} catch (FileNotFoundException E) {
System.out.println("No such files : " + fileName);
}
И вот трассировка стека:
Исключение в потоке «основной» java.lang.RuntimeException: TODO в org.apache.poi.hdgf.pointers.PointerFactory.createPointer(PointerFactory.java:45) в org.apache.poi.hdgf.HDGFDiagram.(HDGFDiagram.java: 99) по адресу org.apache.poi.hdgf.extractor.VisioTextExtractor.(VisioTextExtractor.java:55) по адресу org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:200) по адресу org.apache.tika. parser.microsoft.OfficeParser.parse(OfficeParser.java:161) в VsdFile.displayMetadata(VsdFile.java:43) в main.main(main.java:26) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:601) в com.intellij. rt.execution.application.AppMain.main(AppMain.java:120)
Я довольно ржавый в Java, поэтому я надеюсь, что мой вопрос не слишком очевиден, чтобы ответить на него.
Спасибо.
С уважением,
Бдлул