2015-01-27 4 views
0
내가 Office 문서에서 메타 데이터 값을 얻으려고

을 함께 올바른 키 - 값 쌍을 가져올 수 없습니다 그것은 키 - 값 쌍으로 표시 모든이 하나입니다는 티카

콘텐츠 형식 : 응용 프로그램/우편 번호

나는이 문제를 말할 수 없다. Content-Type 만 표시하는 이유는 무엇입니까? 내가 관심있는 부분은 제목과 같은 키입니다.

import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.InputStream; 

import org.apache.tika.exception.TikaException; 
import org.apache.tika.metadata.Metadata; 
import org.apache.tika.parser.AutoDetectParser; 
import org.apache.tika.sax.BodyContentHandler; 
import org.xml.sax.SAXException; 


public class App 
{ 
    private static final String PATH = "C:/docs/myDocument.docx"; 


    public static void main(String[] args) throws IOException, SAXException, TikaException 
    { 


     Metadata metadata = new Metadata(); 
     AutoDetectParser parser = new AutoDetectParser(); 
     InputStream fileStream = new FileInputStream(PATH); 
     BodyContentHandler handler = new BodyContentHandler(); 
     parser.parse(fileStream, handler, metadata); 

     String[] metadataNames = metadata.names(); 

     for (String key : metadataNames) { 
      String value = metadata.get(key); 

      System.out.println(key + ": " + value); 
     } 
    } 
} 
+0

내 직감은 Tika Parsers jar 또는 그 종속물 중 하나가 누락되었다는 것입니다 . 프로젝트에 Apache Tika의 항아리를 어떻게 추가하고 있습니까? – Gagravarr

+0

@Gagravarr 필자는 maven을 사용하고 있고 내 org.apache.tika' 0.2와'org.apache.tika.tika-parsers' 0.6 안에 2 개의 의존성을 가지고 있습니다. 어쩌면 나는 다른 버전으로 그들을 대체해야합니다 ... – Michael

+0

@Gagravarr 좋아요. 그래서 org.apache.tika가 파서와 어떻게 든 간섭했고, 제거한 후에 모든 것이 의도 한대로 작동하고있었습니다. 힌트를위한 Thx. – Michael

답변

0

답변에 대한 의견 제시 - 일부 핵심 Apache Tika jars 또는 그 종속성이 누락 된 것으로 보입니다.

<properties> 
    <tika.version>1.7</tika.version> 
</properties> 

<dependencies> 
    <dependency> 
    <groupId>org.apache.tika</groupId> 
    <artifactId>tika-core</artifactId> 
    <version>${tika.version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.apache.tika</groupId> 
    <artifactId>tika-parsers</artifactId> 
    <version>${tika.version}</version> 
    </dependency> 
</dependencies> 

tika-core 이슈 당신이 티카를 실행하고 자신을 개발하는 데 필요한 모든 것을 제공 : 당신은 메이븐을 사용하는 경우

, 당신의 치어가 뭔가를해야한다 (2015 년 1 월)이 있어야 파서는 있지만 파서는 제공되지 않습니다. 파일을 처리해야하는 내장 Tika 파서를 모두 제공하는 tika-parsers 이슈 (+ 의존성!)

+0

답을위한 Thx는 정확히 무엇이 누락 되었는가? – Michael