我正在修改.DOC文件的某些标签(如评论,关键字等)。我已经能够使用docx4j为DOCX执行此操作,但我无法找到任何可以让我更改.DOC格式的标记的内容。
有没有办法以编程方式更改.DOC文件中某些标记的内容?
答案 0 :(得分:3)
Apache POI非常乐意让您阅读和编辑受支持文档的元数据。对于较旧的OLE2格式(.doc,.xls等),您可能希望使用HPSF,可能通过POIDocument。对于OOXML格式(.docx,.xlsx等),请使用POIXMLDocument和POIXMLProperties
要修改OLE2属性,您可以按照detailed instructions and code in the HPSF documentation或更新版本的POI使用HPSFPropertiesOnlyDocument来缩短相关内容,例如
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File("test.doc"));
HPSFPropertiesOnlyDocument doc = new HPSFPropertiesOnlyDocument(fs);
SummaryInformation si = doc.getSummaryInformation();
if (si == null) doc.createInformationProperties();
si.setAuthor("StackOverflow");
si.setTitle("Properties Demo!");
FileOutputStream out = new FileOutputStream("changed.doc");
doc.write(out);
out.close();