Gerar um índice navegável é essencial ao criar relatórios Word extensos ou manuais que os usuários precisam folhear rapidamente. Conholdate.Total for Java fornece um SDK robusto que simplifica o trabalho com arquivos DOCX diretamente de aplicações Java. Neste guia passo a passo, você aprenderá como adicionar um índice a um documento Word em Java, cobrindo configuração, explicação do código e boas práticas.
Exemplo completo de funcionamento para adicionar Sumário a um documento Word em Java
O exemplo a seguir demonstra como inserir um índice em um arquivo DOCX existente usando Conholdate.Total for Java.
import com.groupdocs.words.Document;
import com.groupdocs.words.DocumentBuilder;
import com.groupdocs.words.TableOfContentsOptions;
import com.groupdocs.words.SaveFormat;
import com.groupdocs.words.TabLeader;
public class AddTableOfContentsExample {
public static void main(String[] args) throws Exception {
// Paths to the source and destination Word documents
String inputPath = "input.docx";
String outputPath = "output.docx";
// Load the existing document, add a TOC, and save the result
try (Document doc = new Document(inputPath)) {
DocumentBuilder builder = new DocumentBuilder(doc);
// Move cursor to the beginning of the document where the TOC will be inserted
builder.moveToDocumentStart();
// Configure TOC options
TableOfContentsOptions tocOptions = new TableOfContentsOptions();
tocOptions.setUpperHeadingLevel(1); // Include headings from level 1
tocOptions.setLowerHeadingLevel(3); // up to level 3
tocOptions.setRightAlignPageNumbers(true); // Align page numbers to the right
tocOptions.setUseHyperlinks(true); // Make entries clickable
tocOptions.setTabLeader(TabLeader.DOTS); // Use dotted leader
// Insert the Table of Contents
builder.insertTableOfContents(tocOptions);
// Save the modified document
doc.save(outputPath, SaveFormat.DOCX);
}
}
}
Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (
input.docx,output.docx, etc.) para corresponderem às suas localizações reais, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.
Entendendo a Adição de Sumário a um Documento Word em Código Java
A seguir está uma divisão das principais etapas executadas pelo código de exemplo:
- Carregue o documento de origem - A classe
Documentlê o arquivo DOCX existente.
try (Document doc = new Document(inputPath)) {
Criar um DocumentBuilder -
DocumentBuilderfornece métodos para editar o conteúdo do documento.DocumentBuilder builder = new DocumentBuilder(doc);Posicionar o cursor -
moveToDocumentStart()move o ponto de inserção para o início do arquivo, garantindo que o TOC apareça antes de qualquer conteúdo.builder.moveToDocumentStart();Configurar opções de TOC -
TableOfContentsOptionspermite definir níveis de cabeçalho, alinhamento de números de página, uso de hiperlinks e o estilo do líder de tabulação.
TableOfContentsOptions tocOptions = new TableOfContentsOptions();
tocOptions.setUpperHeadingLevel(1);
tocOptions.setLowerHeadingLevel(3);
tocOptions.setRightAlignPageNumbers(true);
tocOptions.setUseHyperlinks(true);
tocOptions.setTabLeader(TabLeader.DOTS);
Referência detalhada da API está disponível na página Referência da API.
- Inserir o sumário e salvar -
insertTableOfContentsadiciona o campo, edoc.savegrava o arquivo atualizado no formato DOCX.
builder.insertTableOfContents(tocOptions);
doc.save(outputPath, SaveFormat.DOCX);
Instalando e Configurando Conholdate.Total para Java
Adicione o repositório Maven da Conholdate e a dependência do SDK ao seu pom.xml:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Baixe o pacote SDK mais recente na página de download. O SDK requer Java 8 ou superior e funciona em qualquer JVM padrão. Nenhum componente de tempo de execução adicional é necessário.
Melhores práticas para gerar o sumário do Word com Java
- Use estilos de título consistentes - O sumário captura parágrafos formatados com níveis de título incorporados (Título 1, Título 2, etc.). Certifique‑se de que seu documento de origem use esses estilos para gerar entradas de forma confiável.
- Limite a profundidade dos títulos - Incluir muitos níveis pode tornar o sumário difícil de manejar. Relatórios típicos utilizam níveis 1‑3, como mostrado no exemplo.
- Habilite hyperlinks - Definir
setUseHyperlinks(true)cria entradas clicáveis, melhorando a navegação no documento final. - Valide após a inserção - Abra o DOCX gerado e atualize os campos (Ctrl +A, F9) para confirmar que os números das páginas estão corretos, especialmente após novas edições.
- Reutilize o objeto de opções do sumário - Se você gerar vários documentos em lote, configure as opções uma vez e reutilize‑as para reduzir a sobrecarga de criação de objetos.
Conclusão
Adicionar um índice a um documento Word em Java torna‑se simples com Conholdate.Total for Java. Carregando um DOCX, configurando TableOfContentsOptions e inserindo o campo, você pode automatizar a criação de relatórios e manuais profissionais. Lembre‑se de instalar o SDK, seguir as recomendações de boas práticas e testar o índice gerado no seu ambiente de destino. Para implantações em produção, você precisará de uma cópia licenciada; detalhes de preços estão disponíveis na página de preços e uma licença temporária pode ser obtida na página de licença temporária.
Perguntas Frequentes
Qual é a maneira mais simples de adicionar um índice a um documento Word em Java?
UseDocumentBuilder.moveToDocumentStart()seguido deinsertTableOfContentscom um objetoTableOfContentsOptionsconfigurado, conforme demonstrado no exemplo de código.Como posso controlar quais níveis de cabeçalho aparecem no TOC?
DefinasetUpperHeadingLevelesetLowerHeadingLevelna instânciaTableOfContentsOptionspara incluir apenas os níveis desejados.É possível gerar um TOC para um modelo Word que será preenchido depois?
Sim. Insira o TOC no arquivo de modelo antes de popular o conteúdo dinâmico; o TOC referenciará automaticamente os cabeçalhos adicionados posteriormente.Preciso de uma conexão com a internet para usar este SDK?
Não. Conholdate.Total for Java é uma biblioteca local que roda no seu servidor ou desktop sem chamadas a serviços externos.
