<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>word document automation on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/id/tag/word-document-automation/</link>
    <description>Recent content in word document automation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>id</language>
    <lastBuildDate>Tue, 28 Jul 2026 21:31:55 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/id/tag/word-document-automation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tambahkan Daftar Isi ke Dokumen Word dalam Java</title>
      <link>https://blog-qa.conholdate.com/id/total/add-table-of-contents-to-word-document-in-java/</link>
      <pubDate>Tue, 28 Jul 2026 21:31:55 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/id/total/add-table-of-contents-to-word-document-in-java/</guid>
      <description>Pelajari cara menambahkan daftar isi ke dokumen Word dalam Java menggunakan Conholdate.Total for Java. Panduan langkah demi langkah dengan kode lengkap, pengaturan, dan praktik terbaik.</description>
      <content:encoded><![CDATA[<p>Membuat daftar isi yang dapat dinavigasi sangat penting saat membuat laporan Word besar atau manual yang perlu dibaca cepat oleh pengguna. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> menyediakan SDK yang kuat yang menyederhanakan kerja dengan file <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> secara langsung dari aplikasi Java. Dalam panduan langkah‑demi‑langkah ini Anda akan belajar cara menambahkan daftar isi ke dokumen Word dalam Java, mencakup pengaturan, penjelasan kode, dan praktik terbaik.</p>
<h2 id="contoh-kerja-penuh-untuk-menambahkan-daftar-isi-ke-dokumen-word-dalam-java">Contoh Kerja Penuh untuk Menambahkan Daftar Isi ke Dokumen Word dalam Java</h2>
<p>Contoh berikut menunjukkan cara menyisipkan daftar isi ke dalam file DOCX yang sudah ada menggunakan Conholdate.Total for Java.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.words.Document<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.words.DocumentBuilder<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.words.TableOfContentsOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.words.SaveFormat<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.words.TabLeader<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">AddTableOfContentsExample</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#66d9ef">throws</span> Exception <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Paths to the source and destination Word documents
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        String inputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        String outputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Load the existing document, add a TOC, and save the result
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>Document doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            DocumentBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> DocumentBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Move cursor to the beginning of the document where the TOC will be inserted
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            builder<span style="color:#f92672">.</span><span style="color:#a6e22e">moveToDocumentStart</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Configure TOC options
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            TableOfContentsOptions tocOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TableOfContentsOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setUpperHeadingLevel</span><span style="color:#f92672">(</span>1<span style="color:#f92672">);</span>          <span style="color:#75715e">// Include headings from level 1
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setLowerHeadingLevel</span><span style="color:#f92672">(</span>3<span style="color:#f92672">);</span>          <span style="color:#75715e">// up to level 3
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setRightAlignPageNumbers</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>  <span style="color:#75715e">// Align page numbers to the right
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setUseHyperlinks</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>           <span style="color:#75715e">// Make entries clickable
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setTabLeader</span><span style="color:#f92672">(</span>TabLeader<span style="color:#f92672">.</span><span style="color:#a6e22e">DOTS</span><span style="color:#f92672">);</span>     <span style="color:#75715e">// Use dotted leader
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Insert the Table of Contents
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            builder<span style="color:#f92672">.</span><span style="color:#a6e22e">insertTableOfContents</span><span style="color:#f92672">(</span>tocOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save the modified document
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">DOCX</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>Catatan:</strong> Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (<code>input.docx</code>, <code>output.docx</code>, dll.) agar sesuai dengan lokasi file Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke <a href="https://docs.conholdate.com/java/">dokumentasi resmi</a> atau hubungi <a href="https://forum.conholdate.com/c/total/5">tim dukungan</a> untuk bantuan.</p>
</blockquote>
<h2 id="memahami-penambahan-daftar-isi-ke-dokumen-word-dalam-kode-java">Memahami Penambahan Daftar Isi ke Dokumen Word dalam Kode Java</h2>
<p>Berikut adalah rincian langkah-langkah utama yang dilakukan oleh contoh kode:</p>
<ol>
<li><strong>Muat dokumen sumber</strong> - Kelas <code>Document</code> membaca file DOCX yang ada.</li>
</ol>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>Document doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<ol start="2">
<li><strong>Buat DocumentBuilder</strong> - <code>DocumentBuilder</code> menyediakan metode untuk mengedit konten dokumen.</li>
</ol>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>DocumentBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> DocumentBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<ol start="3">
<li>
<p><strong>Posisikan kursor</strong> - <code>moveToDocumentStart()</code> memindahkan titik sisipan ke awal file, memastikan TOC muncul sebelum konten apa pun.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">moveToDocumentStart</span><span style="color:#f92672">();</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
</li>
<li>
<p><strong>Konfigurasikan opsi TOC</strong> - <code>TableOfContentsOptions</code> memungkinkan Anda menentukan level heading, perataan nomor halaman, penggunaan hyperlink, dan gaya pemimpin tab.</p>
</li>
</ol>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>TableOfContentsOptions tocOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TableOfContentsOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setUpperHeadingLevel</span><span style="color:#f92672">(</span>1<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setLowerHeadingLevel</span><span style="color:#f92672">(</span>3<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setRightAlignPageNumbers</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setUseHyperlinks</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>tocOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setTabLeader</span><span style="color:#f92672">(</span>TabLeader<span style="color:#f92672">.</span><span style="color:#a6e22e">DOTS</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Referensi API detail tersedia di halaman <a href="https://reference.conholdate.com/java/">API Reference</a>.</p>
<ol start="5">
<li><strong>Masukkan TOC dan simpan</strong> - <code>insertTableOfContents</code> menambahkan field, dan <code>doc.save</code> menulis file yang diperbarui dalam format DOCX.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">insertTableOfContents</span><span style="color:#f92672">(</span>tocOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">DOCX</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
</li>
</ol>
<h2 id="menginstal-dan-mengonfigurasi-conholdatetotal-untuk-java">Menginstal dan Mengonfigurasi Conholdate.Total untuk Java</h2>
<p>Tambahkan repositori Maven Conholdate dan dependensi SDK ke <code>pom.xml</code> Anda:</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;repositories&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;repository&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;id&gt;</span>conholdate-repo<span style="color:#f92672">&lt;/id&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;name&gt;</span>Conholdate Maven Repository<span style="color:#f92672">&lt;/name&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;url&gt;</span>https://repository.conholdate.com/repo/<span style="color:#f92672">&lt;/url&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;/repository&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/repositories&gt;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.conholdate<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>conholdate-total<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>24.9<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;type&gt;</span>pom<span style="color:#f92672">&lt;/type&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Unduh paket SDK terbaru dari <a href="https://releases.conholdate.com/total/java/">halaman unduhan</a>. SDK memerlukan Java 8 atau yang lebih tinggi dan berjalan pada JVM standar apa pun. Tidak diperlukan komponen runtime tambahan.</p>
<h2 id="praktik-terbaik-untuk-membuat-daftar-isi-word-dengan-java">Praktik Terbaik untuk Membuat Daftar Isi Word dengan Java</h2>
<ul>
<li><strong>Gunakan gaya heading yang konsisten</strong> - TOC mengambil paragraf yang diberi gaya heading bawaan (Heading 1, Heading 2, dll.). Pastikan dokumen sumber Anda menggunakan gaya ini untuk menghasilkan entri yang dapat diandalkan.</li>
<li><strong>Batasi kedalaman heading</strong> - Menyertakan terlalu banyak level dapat membuat TOC menjadi tidak terkendali. Laporan tipikal menggunakan level 1‑3, seperti yang ditunjukkan dalam contoh.</li>
<li><strong>Aktifkan hyperlink</strong> - Menetapkan <code>setUseHyperlinks(true)</code> membuat entri dapat diklik, meningkatkan navigasi dalam dokumen akhir.</li>
<li><strong>Validasi setelah penyisipan</strong> - Buka DOCX yang dihasilkan dan perbarui bidang (Ctrl +A, F9) untuk memastikan nomor halaman <a href="https://docs.fileformat.com/spreadsheet/numbers/">numbers</a> benar, terutama setelah penyuntingan lebih lanjut.</li>
<li><strong>Gunakan kembali objek opsi TOC</strong> - Jika Anda menghasilkan beberapa dokumen dalam satu batch, konfigurasikan opsi sekali saja dan gunakan kembali untuk mengurangi beban pembuatan objek.</li>
</ul>
<h2 id="kesimpulan">Kesimpulan</h2>
<p>Menambahkan daftar isi ke dokumen Word dalam Java menjadi mudah dengan <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Dengan memuat file DOCX, mengonfigurasi <code>TableOfContentsOptions</code>, dan menyisipkan field, Anda dapat mengotomatiskan pembuatan laporan dan manual profesional. Ingatlah untuk menginstal SDK, mengikuti rekomendasi praktik terbaik, dan menguji TOC yang dihasilkan di lingkungan target Anda. Untuk penerapan produksi, Anda memerlukan salinan berlisensi; detail harga tersedia di <a href="https://purchase.conholdate.com/pricing/total/family/">halaman harga</a> dan lisensi sementara dapat diperoleh dari <a href="https://purchase.conholdate.com/temporary-license/">halaman lisensi sementara</a>.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>Apa cara paling sederhana untuk menambahkan daftar isi ke dokumen Word dalam Java?</strong><br>
Gunakan <code>DocumentBuilder.moveToDocumentStart()</code> diikuti dengan <code>insertTableOfContents</code> dengan objek <code>TableOfContentsOptions</code> yang telah dikonfigurasi, seperti yang ditunjukkan dalam contoh kode.</p>
</li>
<li>
<p><strong>Bagaimana saya dapat mengontrol level heading mana yang muncul di TOC?</strong><br>
Setel <code>setUpperHeadingLevel</code> dan <code>setLowerHeadingLevel</code> pada instance <code>TableOfContentsOptions</code> untuk menyertakan hanya level yang diinginkan.</p>
</li>
<li>
<p><strong>Apakah mungkin menghasilkan TOC untuk templat Word yang akan diisi nanti?</strong><br>
Ya. Masukkan TOC ke dalam file templat sebelum mengisi konten dinamis; TOC akan secara otomatis merujuk ke heading yang ditambahkan kemudian.</p>
</li>
<li>
<p><strong>Apakah saya memerlukan koneksi internet untuk menggunakan SDK ini?</strong><br>
Tidak. Conholdate.Total for Java adalah perpustakaan lokal yang berjalan di server atau desktop Anda tanpa panggilan layanan eksternal.</p>
</li>
</ul>
<h2 id="baca-selengkapnya">Baca Selengkapnya</h2>
<ul>
<li><a href="https://blog.conholdate.com/id/total/add-shapes-to-pdf-in-java/">Tambahkan Bentuk ke PDF di Java</a></li>
<li><a href="https://blog.conholdate.com/id/total/insert-table-of-contents-in-word-using-java/">Sisipkan Daftar Isi di Word menggunakan Java</a></li>
<li><a href="https://blog.conholdate.com/id/total/add-a-table-of-contents-in-word-using-csharp/">Tambahkan Daftar Isi di Word menggunakan C#</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
