【发布时间】:2014-07-21 09:24:09
【问题描述】:
我可以使用 Apache POI 或 docx4j 在 Java 中读取或写入 word 文档。但我找不到在 Word 文件中创建或更新目录的任何参考。 Java中是否还有其他API可以支持TOC?或者,是否可以在 Apache POI 或 docx4j 中提供创建或更新 TOC 的选项?
【问题讨论】:
标签: java apache-poi docx4j
我可以使用 Apache POI 或 docx4j 在 Java 中读取或写入 word 文档。但我找不到在 Word 文件中创建或更新目录的任何参考。 Java中是否还有其他API可以支持TOC?或者,是否可以在 Apache POI 或 docx4j 中提供创建或更新 TOC 的选项?
【问题讨论】:
标签: java apache-poi docx4j
要使用 apache poi 创建目录,您可以使用:
doc.createTOC();
但它似乎有点错误。 TOC 已创建,但(MS Office pro 2010)似乎无法将其识别为 TOC,并且引用不起作用。
或者你可以打电话:
doc.enforceUpdateFields();
这将在 word 文档中创建一个弹出窗口:“此文档包含可能引用其他文件的字段。您要更新此文档中的字段吗?”,如果您打开一个新文档,这看起来有点狡猾:)
【讨论】:
还有一种更清洁的方法。 你只需要打开一个空的 docx 作为模板。使用您想要包含的样式向其中添加一些示例文本,然后这段代码就可以工作了。
XWPFDocument document = new XWPFDocument(new FileInputStream("template.docx");
paragraph = document.createParagraph();
lastParagraph.setStyle("Heading1");
【讨论】: