2014-09-19 2 views
0

Я пытаюсь обновить keyword в метаданных файла DOC. Я был в состоянии обновить category метаданные с ниже код, но я не вижу каких-либо методов для изменения keywordsКак обновить метаданные ключевых слов в DOC

Я использую poi:3.10-FINAL

void updateProperties(String filepath) { 
     POIFSFileSystem poifs = new POIFSFileSystem(new FileInputStream(filepath)); 
     DirectoryEntry dir = poifs.getRoot(); 
     DocumentSummaryInformation dsi; 
     try 
     { 
      DocumentEntry dsiEntry = (DocumentEntry) dir.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME); 
      DocumentInputStream dis = new DocumentInputStream(dsiEntry); 
      PropertySet ps = new PropertySet(dis); 
      dis.close(); 
      dsi = new DocumentSummaryInformation(ps); 
     } 
     catch (FileNotFoundException ex) 
     { 
      dsi = PropertySetFactory.newDocumentSummaryInformation(); 
     } 
     dsi.setCategory("New Category set"); 


     dsi.write(dir, DocumentSummaryInformation.DEFAULT_STREAM_NAME); 
     OutputStream out = new FileOutputStream(filepath); 
     poifs.writeFilesystem(out); 
     out.close(); 
    } 

ответ

1

Ключевые слова не хранятся на DocumentSummaryInformation, они «повторно хранится на другом потоке собственности, SummaryInformation

Если посмотреть на JavaDocs для SummaryInformation, вы увидите, что она имеет метод setKeywords(String) которого вы поиск!

Смежные вопросы