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.docxitp.), 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:
- Załaduj dokument źródłowy - Klasa
Documentodczytuje istniejący plik DOCX.
try (Document doc = new Document(inputPath)) {
- Utwórz DocumentBuilder -
DocumentBuilderudostępnia metody do edytowania zawartości dokumentu.
DocumentBuilder builder = new DocumentBuilder(doc);
- 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();
- Konfiguruj opcje spisu treści -
TableOfContentsOptionspozwala 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 .
- Wstaw spis treści i zapisz -
insertTableOfContentsdodaje pole, adoc.savezapisuje 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żyjDocumentBuilder.moveToDocumentStart()a następnieinsertTableOfContentsz skonfigurowanym obiektemTableOfContentsOptions, jak pokazano w przykładzie kodu.Jak mogę kontrolować, które poziomy nagłówków pojawiają się w spisie treści?
UstawsetUpperHeadingLevelisetLowerHeadingLevelna instancjiTableOfContentsOptions, 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.
