2

我正在寻找修改 .DOC 文件的某些标签(如评论、关键字等)。我已经能够使用 docx4j 为 DOCX 执行此操作,但我找不到任何可以让我更改 .DOC 格式的标签的东西。

有没有办法以编程方式更改 .DOC 文件中某些标签的内容?

4

1 回答 1

3

Apache POI 很乐意让您阅读和编辑支持文档的元数据。对于较旧的 OLE2 格式(.doc、.xls 等),您可能需要使用HPSF,可能通过POIDocument。对于 OOXML 格式(.docx、.xlsx 等),请使用POIXMLDocumentPOIXMLProperties

要修改 OLE2 属性,您可以按照HPSF 文档中的详细说明和代码进行操作,或者在更新版本的 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();
于 2013-08-02T12:04:22.733 回答