Generowanie nawigacyjnego spisu treści jest niezbędne przy tworzeniu dużych raportów Word lub podręczników, które użytkownicy muszą szybko przeglądać. Conholdate.Total for Java zapewnia solidny SDK, który upraszcza pracę z plikami DOCX bezpośrednio z aplikacji Java. W tym przewodniku krok po kroku dowiesz się, jak dodać spis treści do dokumentu Word w Javie, obejmując konfigurację, wyjaśnienie kodu i najlepsze praktyki.

Pełny działający przykład dodawania spisu treści do dokumentu Word w Javie

Poniższy przykład demonstruje, jak wstawić spis treści do istniejącego pliku DOCX przy użyciu 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);
        }
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że zaktualizowałeś ścieżki do plików (input.docx, output.docx itp.), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Zrozumienie dodawania spisu treści do dokumentu Word w kodzie Java

Poniżej znajduje się podział głównych kroków wykonywanych przez przykładowy kod:

  1. Załaduj dokument źródłowy - Klasa Document odczytuje istniejący plik DOCX.
try (Document doc = new Document(inputPath)) {
  1. Utwórz DocumentBuilder - DocumentBuilder udostępnia metody do edytowania zawartości dokumentu.
DocumentBuilder builder = new DocumentBuilder(doc);
  1. Ustaw kursor - moveToDocumentStart() przenosi punkt wstawiania na sam początek pliku, zapewniając, że spis treści pojawi się przed jakąkolwiek zawartością.
builder.moveToDocumentStart();
  1. Konfiguruj opcje spisu treści - TableOfContentsOptions pozwala zdefiniować poziomy nagłówków, wyrównanie numerów stron, użycie hiperłączy oraz styl prowadnicy tabulacji.
TableOfContentsOptions tocOptions = new TableOfContentsOptions();
tocOptions.setUpperHeadingLevel(1);
tocOptions.setLowerHeadingLevel(3);
tocOptions.setRightAlignPageNumbers(true);
tocOptions.setUseHyperlinks(true);
tocOptions.setTabLeader(TabLeader.DOTS);

Szczegółowa dokumentacja API jest dostępna na stronie Referencja API .

  1. Wstaw spis treści i zapisz - insertTableOfContents dodaje pole, a doc.save zapisuje zaktualizowany plik w formacie DOCX.
builder.insertTableOfContents(tocOptions);
doc.save(outputPath, SaveFormat.DOCX);

Instalowanie i konfigurowanie Conholdate.Total for Java

Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego 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>

Pobierz najnowszy pakiet SDK ze strony pobierania. SDK wymaga Java 8 lub nowszej i działa na dowolnej standardowej maszynie JVM. Nie są potrzebne dodatkowe komponenty uruchomieniowe.

Najlepsze praktyki generowania spisu treści Word w Javie

  • Używaj spójnych stylów nagłówków - Spis treści (TOC) wykrywa akapity sformatowane wbudowanymi poziomami nagłówków (Heading 1, Heading 2 itd.). Upewnij się, że dokument źródłowy używa tych stylów, aby zapewnić niezawodne generowanie pozycji.
  • Ogranicz głębokość nagłówków - Zbyt wiele poziomów może sprawić, że spis treści będzie nieporęczny. Typowe raporty używają poziomów 1‑3, jak pokazano w przykładzie.
  • Włącz hiperłącza - Ustawienie setUseHyperlinks(true) tworzy klikalne pozycje, co poprawia nawigację w finalnym dokumencie.
  • Sprawdź po wstawieniu - Otwórz wygenerowany DOCX i zaktualizuj pola (Ctrl +A, F9), aby potwierdzić, że numery stron są prawidłowe, szczególnie po dalszych edycjach.
  • Ponownie używaj obiektu opcji TOC - Jeśli generujesz wiele dokumentów w partii, skonfiguruj opcje raz i ponownie je użyj, aby zmniejszyć narzut tworzenia obiektów.

Podsumowanie

Dodanie spisu treści do dokumentu Word w Javie staje się proste dzięki Conholdate.Total for Java. Ładując plik DOCX, konfigurując TableOfContentsOptions i wstawiając pole, możesz zautomatyzować tworzenie profesjonalnych raportów i podręczników. Pamiętaj, aby zainstalować SDK, stosować się do zaleceń najlepszych praktyk oraz przetestować wygenerowany spis treści w docelowym środowisku. Do wdrożeń produkcyjnych potrzebna będzie licencjonowana kopia; szczegóły cenowe dostępne są na stronie z cenami oraz tymczasową licencję można uzyskać na stronie z licencją tymczasową.

FAQs

  • Jaki jest najprostszy sposób dodania spisu treści do dokumentu Word w Javie?
    Użyj DocumentBuilder.moveToDocumentStart() a następnie insertTableOfContents z skonfigurowanym obiektem TableOfContentsOptions, jak pokazano w przykładzie kodu.

  • Jak mogę kontrolować, które poziomy nagłówków pojawiają się w spisie treści?
    Ustaw setUpperHeadingLevel i setLowerHeadingLevel na instancji TableOfContentsOptions, aby uwzględnić tylko pożądane poziomy.

  • Czy można wygenerować spis treści (TOC) dla szablonu Word, który zostanie wypełniony później?
    Tak. Wstaw spis treści do pliku szablonu przed wypełnieniem dynamicznej zawartości; spis treści będzie automatycznie odwoływać się do nagłówków dodanych później.

  • Czy potrzebuję połączenia z internetem, aby używać tego SDK?
    Nie. Conholdate.Total for Java jest lokalną biblioteką, która działa na Twoim serwerze lub komputerze stacjonarnym bez żadnych zewnętrznych wywołań usług.

Czytaj więcej