作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试更新 DOC 文件元数据中的关键字
。我已经能够使用下面的代码更新category
元数据,但我没有看到任何更改keywords
我正在使用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();
}
最佳答案
关键字不存储在 DocumentSummaryInformation
中,而是存储在另一个属性流中,即 SummaryInformation
如果您查看 JavaDocs SummaryInformation ,你会看到它有方法 setKeywords(String)您搜索的内容!
关于java - 如何更新 DOC 中的关键字元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925790/
我是一名优秀的程序员,十分优秀!