大規模な Word レポートやマニュアルを作成し、ユーザーが素早くざっと確認できるようにするには、ナビゲート可能な目次を生成することが不可欠です。 Conholdate.Total for Java は、Java アプリケーションから直接 DOCX ファイルを操作するための堅牢な SDK を提供します。このステップバイステップ ガイドでは、設定、コードの説明、ベストプラクティスをカバーしながら、Java で Word 文書に目次を追加する方法を学びます。
JavaでWord文書に目次を追加する完全な作業例
次の例は、Conholdate.Total for Java を使用して既存の DOCX ファイルに目次を挿入する方法を示しています。
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);
}
}
}
注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
input.docx、output.docxなど)を実際のファイル位置に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で十分にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
JavaコードでWord文書に目次を追加することの理解
以下はサンプルコードが実行する主な手順の概要です。
- ソースドキュメントをロードする -
Documentクラスは既存の DOCX ファイルを読み取ります。
try (Document doc = new Document(inputPath)) {
- DocumentBuilder を作成する -
DocumentBuilderはドキュメント コンテンツを編集するためのメソッドを提供します。
DocumentBuilder builder = new DocumentBuilder(doc);
カーソルの位置を設定 -
moveToDocumentStart()は挿入ポイントをファイルの最初に移動させ、目次がコンテンツの前に表示されるようにします。builder.moveToDocumentStart();TOC オプションの構成 -
TableOfContentsOptions見出しレベル、ページ番号の配置、ハイパーリンクの使用、タブリーダーのスタイルを定義できます。
TableOfContentsOptions tocOptions = new TableOfContentsOptions();
tocOptions.setUpperHeadingLevel(1);
tocOptions.setLowerHeadingLevel(3);
tocOptions.setRightAlignPageNumbers(true);
tocOptions.setUseHyperlinks(true);
tocOptions.setTabLeader(TabLeader.DOTS);
詳細な API リファレンスは、API Reference ページで利用できます。
- 目次を挿入して保存 -
insertTableOfContentsはフィールドを追加し、doc.saveは更新されたファイルを DOCX 形式で書き込みます。
builder.insertTableOfContents(tocOptions);
doc.save(outputPath, SaveFormat.DOCX);
Conholdate.Total for Java のインストールと構成
Conholdate Maven リポジトリと SDK 依存関係を 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>
最新の SDK パッケージはダウンロードページからダウンロードできます。SDK は Java 8 以上が必要で、標準的な JVM 上で動作します。追加のランタイム コンポーネントは必要ありません。
JavaでWord TOCを生成するためのベストプラクティス
- 見出しスタイルを統一する - 目次は組み込みの見出しレベル(Heading 1、Heading 2、など)でスタイル付けされた段落を取得します。信頼できるエントリ生成のために、ソース文書がこれらのスタイルを使用していることを確認してください。
- 見出しの深さを制限する - レベルが多すぎると目次が扱いにくくなります。一般的なレポートでは例に示すようにレベル 1‑3 を使用します。
- ハイパーリンクを有効にする -
setUseHyperlinks(true)を設定するとクリック可能なエントリが作成され、最終文書のナビゲーションが向上します。 - 挿入後に検証する - 生成された DOCX を開き、フィールドを更新します(Ctrl +A、F9)。特にその後の編集を行った場合、ページ番号 が正しいことを確認してください。
- TOC オプションオブジェクトを再利用する - バッチで複数の文書を生成する場合、オプションを一度設定して再利用することで、オブジェクト作成のオーバーヘッドを削減できます。
結論
JavaでWord文書に目次を追加することは、Conholdate.Total for Java を使用すれば簡単になります。DOCX を読み込み、TableOfContentsOptions を設定し、フィールドを挿入することで、プロフェッショナルなレポートやマニュアルの作成を自動化できます。SDK をインストールし、ベストプラクティスの推奨事項に従い、対象環境で生成された目次をテストすることを忘れないでください。実稼働環境での展開にはライセンス版が必要です。価格の詳細はpricing pageで確認でき、臨時ライセンスはtemporary license pageから取得できます。
よくある質問
JavaでWord文書に目次を追加する最も簡単な方法は何ですか?
DocumentBuilder.moveToDocumentStart()を使用し、続いて構成されたTableOfContentsOptionsオブジェクトを使用したinsertTableOfContentsを呼び出します。コード例に示されています。TOC に表示される見出しレベルをどのように制御できますか?
TableOfContentsOptionsインスタンスでsetUpperHeadingLevelとsetLowerHeadingLevelを設定し、目的のレベルだけを含めます。Wordテンプレートに後で埋め込むTOCを生成することは可能ですか?
はい。動的コンテンツを埋め込む前にテンプレートファイルにTOCを挿入してください。TOCは後で追加される見出しを自動的に参照します。この SDK を使用するためにインターネット接続は必要ですか?
いいえ。Conholdate.Total for Java はローカル ライブラリで、サーバーまたはデスクトップ上で外部サービスへの呼び出しなしに実行されます。
