Büyük Word raporları veya kullanıcıların hızlıca göz atması gereken kılavuzlar oluştururken gezinilebilir bir içindekiler tablosu oluşturmak çok önemlidir. Conholdate.Total for Java güçlü bir SDK sunar ve DOCX dosyalarıyla doğrudan Java uygulamalarından çalışmayı basitleştirir. Bu adım‑adım rehberde, kurulum, kod açıklaması ve en iyi uygulamaları kapsayan, Java’da bir Word belgesine içindekiler tablosu eklemeyi öğreneceksiniz.
Java’da Word Belgesine İçindekiler Tablosu Eklemek için Tam Çalışan Örnek
Aşağıdaki örnek, Conholdate.Total for Java kullanarak bir DOCX dosyasına içindekiler tablosu eklemeyi göstermektedir.
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.BreakType;
import com.aspose.words.StyleIdentifier;
public class AddTableOfContentsExample {
public static void main(String[] args) throws Exception {
// Directory where the output document will be saved
String dataDir = "output/";
// Create a new document and a builder to work with it
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert a table of contents field at the current cursor position.
// "\o \"1-3\" \h \z \u" includes heading levels 1-3, makes entries
// clickable hyperlinks, hides tab leaders in Web layout, and uses
// outline levels applied to non-heading styles.
builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");
// Start the actual document content on the second page.
builder.insertBreak(BreakType.PAGE_BREAK);
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_1);
builder.writeln("Heading 1");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 1.1");
builder.writeln("Heading 1.2");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_1);
builder.writeln("Heading 2");
builder.writeln("Heading 3");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 3.1");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_3);
builder.writeln("Heading 3.1.1");
builder.writeln("Heading 3.1.2");
builder.writeln("Heading 3.1.3");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 3.2");
builder.writeln("Heading 3.3");
// The newly inserted table of contents is initially empty.
// It needs to be populated by updating the fields in the document.
doc.updateFields();
doc.save(dataDir + "TableOfContents.docx");
}
}
Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce çıktı dizinini (
dataDir) gerçek dosya konumunuza göre güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgelere bakın veya destek ekibi ile iletişime geçin.
Java Kodunda Word Belgesine İçindekiler Tablosu Ekleme Anlayışı
Aşağıda örnek kod tarafından gerçekleştirilen ana adımların bir özeti bulunmaktadır:
Belgeyi ve bir oluşturucuyu oluşturun -
Documentbellek içi Word dosyasını temsil eder veDocumentBuilderona içerik ve alan eklemek için yöntemler sağlar.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);TOC alanını ekle -
insertTableOfContentsimleç konumunda bir TOC alanı yazar. Anahtar dizesi davranışını kontrol eder:\o "1-3"başlık seviyeleri 1’den 3’e kadar dahil eder,\hgirişleri tıklanabilir hiperlink yapar,\zWeb düzeni görünümünde sekme liderlerini ve sayfa numaralarını gizler, ve\uparagraflara uygulanan anahat seviyesini kullanır.builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");İçeriği yeni bir sayfada başlat -
insertBreak(BreakType.PAGE_BREAK)gerçek belge gövdesini TOC’dan sonraki sayfaya iterek, içindekiler tablosunun kendi sayfasına sahip olmasını sağlar.builder.insertBreak(BreakType.PAGE_BREAK);Başlık stili içeriği ekleyin -
setStyleIdentifierözelliğini builder’ın paragraf formatındaHEADING_1,HEADING_2veyaHEADING_3olarak ayarlayıpwritelnmetodunu çağırmadan önce ayarlamak, ilgili yerleşik başlık stiline sahip paragraflar oluşturur; bu başlıklar TOC alanı tarafından giriş olarak taranır.
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_1);
builder.writeln("Heading 1");
Ayrıntılı API referansı, API Referansı sayfasında mevcuttur.
- Alanları güncelle ve kaydet -
doc.updateFields()başlıklar mevcut olduğu için TOC’yi girişler ve sayfa numaralarıyla doldurur vedoc.savebelgeyi diske yazar.doc.updateFields(); doc.save(dataDir + "TableOfContents.docx");
Conholdate.Total for Java’ı Kurma ve Yapılandırma
Conholdate Maven deposunu ve SDK bağımlılığını pom.xml dosyanıza ekleyin:
<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>
En son SDK paketini indirme sayfasından indirin. SDK, Java 8 veya daha yenisini gerektirir ve herhangi bir standart JVM’de çalışır. Ek bir çalışma zamanı bileşenine ihtiyaç yok.
Word TOC Oluşturma için En İyi Uygulamalar Java ile
- Tutarlı başlık stilleri kullanın - TOC, yerleşik başlık seviyeleri (Başlık 1, Başlık 2, vb.) ile biçimlendirilmiş paragrafları algılar. Kaynak belgenizin güvenilir giriş oluşturması için bu stilleri kullandığından emin olun.
- Başlık derinliğini sınırlayın - Çok fazla seviyenin eklenmesi TOC’yi yönetilemez hale getirebilir. Tipik raporlar, örnekteki
\o "1-3"anahtarında gösterildiği gibi 1‑3 seviyelerini kullanır. - Köprüleri etkinleştirin -
\hanahtarını eklemek tıklanabilir girişler oluşturur ve son belgede gezinmeyi iyileştirir. - Eklemeden sonra her zaman updateFields çağırın - Yeni eklenen bir TOC alanı,
doc.updateFields()çalıştırılana kadar boş olur; bu yüzden tüm başlık içeriği eklendikten sonra çağırın. - Eklemeden sonra doğrulayın - Oluşturulan DOCX dosyasını açın ve alanları güncelleyin (Ctrl +A, F9) sayfa sayılarının doğru olduğunu, özellikle sonraki düzenlemelerden sonra, onaylamak için.
- Anahtar dizesini yeniden kullanın - Bir toplu işlemde birden fazla belge oluşturuyorsanız, anahtar dizesini bir kez oluşturup çağrılar arasında yeniden kullanın; bu, biçimlendirmeyi tutarlı tutar.
Sonuç
Java’da bir Word belgesine içindekiler tablosu eklemek, Conholdate.Total for Java ile oldukça basit hale gelir. Bir belge oluşturup, uygun anahtarlarla bir TOC alanı ekleyerek, başlık stili içeriği ekleyip updateFields metodunu çağırarak, profesyonel raporlar ve kılavuzlar oluşturmayı otomatikleştirebilirsiniz. SDK’yı kurmayı, en iyi uygulama önerilerini takip etmeyi ve oluşturulan içindekiler tablosunu hedef ortamınızda test etmeyi unutmayın. Üretim dağıtımları için lisanslı bir kopyaya ihtiyacınız olacak; fiyatlandırma detayları fiyatlandırma sayfasında mevcuttur ve geçici bir lisans geçici lisans sayfasından alınabilir.
SSS
Java’da bir Word belgesine içindekiler tablosu eklemenin en basit yolu nedir?
builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u")metodunu çağırın, başlık stilli paragraflar ekleyin, ardından kaydetmeden öncedoc.updateFields()metodunu çağırın; kod örneğinde gösterildiği gibi.TOC’da hangi başlık seviyelerinin görüneceğini nasıl kontrol edebilirim?
insertTableOfContents‘a geçirilen dizedeki\oanahtarının içindeki seviye aralığını değiştirin; örneğin sadece 1 ve 2 seviyelerini dahil etmek için\o "1-2".Daha sonra doldurulacak bir Word şablonu için TOC oluşturmak mümkün mü? Evet. Dinamik içeriği doldurmadan önce TOC alanını şablon dosyasına ekleyin; başlıklar eklendikten sonra
updateFields()çağırmak, TOC’yi otomatik olarak doldurur.Bu SDK’yı kullanmak için internet bağlantısına ihtiyacım var mı? Hayır. Conholdate.Total for Java, sunucunuzda veya masaüstünüzde harici hizmet çağrıları olmadan çalışan yerel bir kütüphanedir.
