/ / Como criar ou atualizar o sumário em um arquivo de palavras? - java, apache-poi, docx4j

Como criar ou atualizar o sumário em um arquivo de palavras? - java, apache-poi, docx4j

Eu posso ler ou escrever documentos do Word em Java usandoApache POI ou docx4j. Mas não consigo encontrar nenhuma referência para criar ou atualizar o sumário em um arquivo do Word. Existe alguma outra API que suporte TOC em Java? Ou, é possível no Apache POI ou no docx4j ter opções para criar ou atualizar o TOC?

Respostas:

1 para resposta № 1

Há um caminho mais limpo para isso também. Você só precisa abrir um docx vazio que funcionará como um modelo. Adicione algum texto de exemplo nele com o estilo que você deseja incluir e, em seguida, esse trecho de código funcionará.

XWPFDocument document = new XWPFDocument(new FileInputStream("template.docx");
paragraph = document.createParagraph();
lastParagraph.setStyle("Heading1");

1 para resposta № 2

Para criar um índice com o apache poi, você pode simplesmente usar:

doc.createTOC();

Mas parece um pouco buggy. O TOC é criado, mas o (MS Office pro 2010) não parece reconhecê-lo como TOC e as referências não estão funcionando.

Ou você pode ligar:

doc.enforceUpdateFields();

Isso criará um pop-up no documento do Word com: "Este documento contém campos que podem se referir a outros arquivos. Deseja atualizar os campos neste documento?", O que parece um pouco desonesto se você estiver abrindo um novo documento :)