Java'da PDF Yer İşaretleri ve Anahat Nasıl Eklenir

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF'nin Java kütüphanesi, BookmarkManager sınıfı aracılığıyla PDF belgelerine programlı olarak yer imleri ve anahatlar eklemenize olanak tanır ve özelleştirilebilir gezinme noktalarıyla hem tek katmanlı hem de çok katmanlı yer imi yapılarını destekler.

Hızlı Başlangıç: Java'da PDF Yer İmleri Ekleme

  1. IronPDF Java kütüphanesini yükleyin ve lisans anahtarınızı ayarlayın
  2. PdfDocument.fromFile() kullanarak PDF'nizi yükleyin
  3. BookmarkManager ile pdf.getBookmark()'yi alın
  4. addBookMarkAtEnd("Title", pageNumber) kullanarak yer imleri ekleyin
  5. PDF'yi pdf.saveAs() ile kaydedin

```java :title=Hızlı Başlangıç //:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/quickstart.java PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf")); BookmarkManager bookmarks = PDF.getBookmark(); bookmarks.addBookMarkAtEnd("Bölüm 1", 0); pdf.saveAs(Path.of("bookmarked.pdf"));


PDF yer imleri, belgelerinizin kullanımını ve gezinmesini iyileştirir. Özetler, bir içerik tablosu gibi ana bölümlere doğrudan geçiş yapmanıza olanak tanıyarak PDF'ler içinde yapılandırılmış gezinme sağlar. Bu, uzun belgelerle, raporlarla veya düzenli gezinme gerektiren çok bölümlü PDF'lerle çalışırken esastır.

IronPDF, PDF işlemlerini Java uygulamalarında basitleştirir. Yer imi API'si, PDF dosyalarında özel yer imleri oluşturmak için basit yöntemler sunar. Kütüphane, yer iminin ötesinde çeşitli PDF manipülasyon özellikleriyle Java uygulamalarıyla entegre olur ve [PDF'leri birleştirme](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), [formlar oluşturma](https://ironpdf.com/java/how-to/create-forms/) ve [filigranlar ekleme](https://ironpdf.com/java/how-to/custom-watermark/) içerir.

<div class="hsg-featured-snippet">
    <h2>PDF Yer İşaretleri ve İçindekiler Nasıl Eklenir</h2>
    <ol>
        <li><a href="https://ironpdf.com/java/#download-modal">PDF'lere yer imleri eklemek için Java kütüphanesini kurun</a></li>
        <li><strong>PdfDocument</strong> sınıfını kullanarak Java'da mevcut bir PDF dosyasını yükleyin</li>
        <li><strong>BookmarkManager</strong> sınıfı ile yer imleri oluşturun ve özelleştirin</li>
        <li><code>addBookMarkAtEnd</code> fonksiyonunu kullanarak PDF'nin belirli sayfalarına yer imleri ekleyin</li>
        <li>Yeni anahat ve yer imlerini içeren PDF belgesini kaydedin</li>
    </ol>
</div>

## Başlamadan Önce Neye İhtiyacım Var?

PDF yer imlerini uygulamadan önce, IronPDF'nin Java projenizde ayarlandığından emin olun. Kütüphane, Java 8 veya daha yüksek sürümleri gerektirir ve [Maven veya Gradle](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) aracılığıyla entegre olur. Projenizin derleme dosyasına IronPDF bağımlılığını ekleyin. Daha ayrıntılı kurulum talimatları için [Başlangıç Özeti](https://ironpdf.com/java/docs/)ne bakın.

Geliştirme ve üretim kullanımı için geçerli bir lisans anahtarı gereklidir. Uygulamanızın başında lisans anahtarını ayarlayın ve herhangi bir IronPDF yöntemini çağırmadan önce bunu yapın. https://ironpdf.com/java/get-started/license-keys/">Lisanslama seçenekleriyle ilgili bilgi için lisans kılavuzunu ziyaret edin

İpuçlarıIronPDF'deki tüm sayfa dizinleri sıfır tabanlı numaralandırma kullanır. Belgenizin 1. sayfası indeks 0, 2. sayfası indeks 1'dir ve böyle devam eder.
## Bir PDF'ye Özet ve Yer İmleri Nasıl Eklerim? Aşağıdaki örnekler, özet ve yer imi oluşturmayı göstermek için bu [örnek PDF](/static-assets/ironpdf-java/howto/bookmarks/NovelSample.pdf)'yi kullanır. Süreç, mevcut bir PDF belgesinin yüklenmesini ve IronPDF'nin `BookmarkManager` özelliğinin kullanılarak belgeye gezinme noktalarının eklenmesini içerir. ### Tek Katmanlı Yer İmleri Nasıl Ekleyebilirim? Düz bir yer imi listesi, açık, hiyerarşik olmayan bir yapıya sahip belgeler için uygundur: raporlar, ürün kılavuzları veya bağımsız her bölümün olduğu slayt güverteleri. `PdfDocument.fromFile()` kullanarak bir dosya yolundan PDF'yi yükledikten sonra, `BookmarkManager` nesnesini getirerek yer imleri eklemeye başlayın. `addBookMarkAtEnd` ve `addBookMarkAtStart` yöntemleri, sırasıyla yer imi koleksiyonunun sonuna veya başına girdiler ekler. Bu yöntemler, belgelerinizin yapısına uygun olarak yer imlerini düzenlemenizde esneklik sağlar. Her bir giriş, bir görüntüleme başlığı ve sıfır tabanlı bir sayfa indeksi alır. ```java //:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/single-layer.java import java.io.IOException; import java.nio.file.Path; import com.ironsoftware.ironpdf.License; import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.bookmark.BookmarkManager; public class Main { public static void main(String[] args) throws IOException { // Set the license key for IronPDF License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01"); // Load the PDF file PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf")); // Get BookmarkManager object to manage bookmarks BookmarkManager bookmarks = PDF.getBookmark(); // Add bookmarks at the end of the bookmark collection bookmarks.addBookMarkAtEnd("Title Page", 0); bookmarks.addBookMarkAtEnd("Table of Contents", 1); bookmarks.addBookMarkAtEnd("Dedication Page", 2); bookmarks.addBookMarkAtEnd("First Page", 3); bookmarks.addBookMarkAtStart("Page 4", 6); // Save the modified PDF with bookmarks pdf.saveAs(Path.of("bookmarked.pdf")); } }

Yukarıdaki PDF görüntüleyici ile, en sık tarayıcıların sol üst köşesindeki içindekiler tablosunu kontrol edin ve tüm eklenen yer imlerini görün. Bu düz yer imi yapısı, basit organizasyonel ihtiyaçlara sahip belgeler için doğrudan gezinme sağlar.

Nasıl Birden Fazla Katmanda Yer İşareti Oluşturabilirim?

Yerleşik yer imleri, teknik dokümantasyon, araştırma raporları veya okuyucuların sadece bölümlere değil, bölümler içindeki alt bölümlere de gitmesi gereken çoklu bölüm belgeleri için doğru tercihtir. Önceki bölümde oluşturulan aynı düz yer imleriyle başlayın, ardından insertBookmark kullanarak yeni katmanlara girişler ekleyin.

insertBookmark yöntemi dört parametre kabul eder: yer imi adı, hedef sayfa dizini, üst yer imi adı ve önceki kardeş yer imi adı. Bir üst yer imi adı geçirerek, altına yerleşik bir alt giriş oluşturursunuz. sibling parametresini null olarak ayarlamak, yeni girişi o ebeveynin ilk alt öğesi olarak yerleştirir.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/multi-layer.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF file
        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));

        // Get BookmarkManager object
        BookmarkManager bookmarks = PDF.getBookmark();

        // Add top-level bookmarks at the end
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication", 2);

        // Insert second-layer bookmarks as children of existing entries
        bookmarks.insertBookmark("First Page", 3, "Table of Contents", null);
        bookmarks.insertBookmark("Second Page", 4, "Table of Contents", "First Page");
        bookmarks.insertBookmark("End of Sample", 7, "Title Page", null);
        bookmarks.insertBookmark("Fourth page", 6, "Table of Contents", "Second Page");

        // Save the modified PDF with nested bookmarks
        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/multi-layer.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF file
        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));

        // Get BookmarkManager object
        BookmarkManager bookmarks = PDF.getBookmark();

        // Add top-level bookmarks at the end
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication", 2);

        // Insert second-layer bookmarks as children of existing entries
        bookmarks.insertBookmark("First Page", 3, "Table of Contents", null);
        bookmarks.insertBookmark("Second Page", 4, "Table of Contents", "First Page");
        bookmarks.insertBookmark("End of Sample", 7, "Title Page", null);
        bookmarks.insertBookmark("Fourth page", 6, "Table of Contents", "Second Page");

        // Save the modified PDF with nested bookmarks
        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
JAVA

Yukarıdaki PDF dosyası, insertBookmark tarafından oluşturulan yer imlerinin ağaç yapısını göstermektedir. Her bir çocuk girişin üstünün altına nasıl yerleştirildiğini doğrulamak için ana hat panelini genişletin. Bu katmanlı yaklaşım, bölümler, alt bölümler ve eklerle raporlar için uygundur.


Mevcut Yer İmlerini Bir PDF'den Nasıl Alırım?

Bir PDF'den yer imi verilerini okumak, tüm gezinme yapısını yeniden inşa etmeden belgeleri güncellerken gereklidir. IronPDF, bunu yer imleri eklemek için kullanılan aynı BookmarkManager arayüzü aracılığıyla erişilebilir hale getirir. PdfDocument.fromFile() ile PDF'yi yükleyin, BookmarkManager'ye erişin, ardından getBookmarks()'yi çağırarak tüm üst düzey yer imlerini alın.

Listedeki konumuna göre belirli bir yer imine erişmek için get(index) kullanın. getText() yöntemi yer iminin görüntü etiketini döndürürken, getPageIndex() yöntemi hedeflediği sıfır tabanlı sayfa numarasını döndürür. Alt yer imleri, getBookmarks() tarafından döndürülen düz listeye dahil edilmez; her bir üst yer iminin getChildren() yöntemini kullanarak bunlara erişebilir.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/retrieve-bookmarks.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF file with bookmarks
        PdfDocument pdf = PdfDocument.fromFile(Path.of("bookmarked.pdf"));

        // Retrieve the bookmark manager
        BookmarkManager bookmarks = PDF.getBookmark();

        // Retrieve list of all bookmarks (includes child bookmarks)
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Access a specific bookmark by zero-based index
        Bookmark bookmark = bookmarkList.get(2);

        // Print bookmark details
        System.out.println("Bookmark Title: " + bookmark.getText());
        System.out.println("Page Number: " + bookmark.getPageIndex());

        // Check if bookmark has children
        if (bookmark.getChildren() != null && !bookmark.getChildren().isEmpty()) {
            System.out.println("Number of child bookmarks: " + bookmark.getChildren().size());
        }
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/retrieve-bookmarks.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF file with bookmarks
        PdfDocument pdf = PdfDocument.fromFile(Path.of("bookmarked.pdf"));

        // Retrieve the bookmark manager
        BookmarkManager bookmarks = PDF.getBookmark();

        // Retrieve list of all bookmarks (includes child bookmarks)
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Access a specific bookmark by zero-based index
        Bookmark bookmark = bookmarkList.get(2);

        // Print bookmark details
        System.out.println("Bookmark Title: " + bookmark.getText());
        System.out.println("Page Number: " + bookmark.getPageIndex());

        // Check if bookmark has children
        if (bookmark.getChildren() != null && !bookmark.getChildren().isEmpty()) {
            System.out.println("Number of child bookmarks: " + bookmark.getChildren().size());
        }
    }
}
JAVA

Lütfen dikkate alıngetBookmarks() yöntemi, yalnızca üst düzey yer imlerinin düz bir listesini döndürür. Yer imi ağacının tamamını taramak için, iç içe geçmiş girdileri olan her yer iminde getChildren() komutunu yinelemeli olarak çağırın.

Bu geri alma deseni, bir PDF'in dağıtımdan önceki gezinme yapısını denetlerken veya yayın öncesi gereksinim bölümlerinin doğru şekilde yer imlendiğini doğrulayan araçlar oluşturulurken kullanışlıdır.


Belirli Bir İndekste Yer İmi Nasıl Eklenir?

Belirli bir konumda yer imleri eklemek, mevcut PDF'leri yeniden inşa etmeden, yeni bölümler ekleyerek kademeli olarak güncellemenizi sağlar. Bu, özellikle PDF'ler bir hat içinde oluşturulup değiştirildiğinde ve yeni içerik aşağı akışta eklendiğinde faydalıdır.

getBookmarks() kullanarak düz yer imi listesini alın, liste diziniyle hedef yer imini seçin, ardından addNextBookmark'yi çağırarak hemen arkasına yeni bir kardeş öğe ekleyin. Seçilen yer iminin altına, bir seviye daha derine yeni bir giriş eklemek için addChildBookmark kullanın. Her iki yöntem de bir başlık dizisini ve sıfır tabanlı bir sayfa indeksini kabul eder.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/insert-at-index.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF modified in the multi-layer example
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        // Get the BookmarkManager
        BookmarkManager bookmarks = PDF.getBookmark();

        // Retrieve the flat bookmark list
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Select a bookmark at a specific index
        Bookmark bookmark = bookmarkList.get(5);

        // Insert a new bookmark after the selected entry
        bookmark.addNextBookmark("Fourth Page", 6);

        // Add a child bookmark under the selected entry
        bookmark.addChildBookmark("Section 1", 7);

        // Save the updated PDF
        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/insert-at-index.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF modified in the multi-layer example
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        // Get the BookmarkManager
        BookmarkManager bookmarks = PDF.getBookmark();

        // Retrieve the flat bookmark list
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Select a bookmark at a specific index
        Bookmark bookmark = bookmarkList.get(5);

        // Insert a new bookmark after the selected entry
        bookmark.addNextBookmark("Fourth Page", 6);

        // Add a child bookmark under the selected entry
        bookmark.addChildBookmark("Section 1", 7);

        // Save the updated PDF
        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
JAVA

Lütfen dikkate alınİsimleri aynı olan yer imleri bulunan iki PDF'yi birleştirirken beklenmedik bir şekilde davranabilir. Temiz bir ana hatı korumak için çelişen yer imlerini birleştirmeden önce yeniden adlandırın.

addNextBookmark yöntemi, yeni girişi seçilen yer iminin hemen arkasına, listede onunla aynı seviyede ekler. addChildBookmark yöntemi ise yeni girişi bir seviye daha derine, seçilen yer iminin altına yerleştirir. Her iki yöntem de bir başlık dizisini ve sıfır tabanlı bir sayfa indeksini kabul eder.

Java'da PDF Yer İmleri İçin Bir Sonraki Adım Nedir?

PDF yer imleri, kullanıcıların karışık belgelerde kaydırmadan doğrudan gezintiye çıkmalarını sağlar. IronPDF'nin BookmarkManager işlevi, düz giriş listeleri ekleme, derin çok düzeyli anahatlar oluşturma, mevcut girişleri alma ve belirli konumlara ekleme gibi tüm yer imi işlemlerini gerçekleştirir.

Belge yapısı ve gezinme özellikleriyle çalışmaya devam etmek için bu ilgili kaynakları keşfedin:

Ücretsiz denemenizi başlatın ve yer imleri, anahatlar ve diğer gezinme özelliklerini Java PDF iş akışınıza ekleyin. Üretim kullanımı için bir lisans satın almak isterseniz, lisanslama seçeneklerini görüntüleyin.

Sıkça Sorulan Sorular

Java'da bir PDF belgesine yer imleri nasıl eklenir?

PdfDocument.fromFile() kullanarak PDF'nizi yükleyin, ardından pdf.getBookmark() çağırarak BookmarkManager’ı alın. Görüntüleme adı ve sıfır tabanlı sayfa numarası ile her yer işaretini eklemek için addBookMarkAtEnd("Başlık", pageIndex) kullanın, ardından pdf.saveAs() ile kaydedin.

Java'da PDF yer imleri eklemek için gereken ön koşullar nelerdir?

Java 8 veya üstü, bir Maven veya Gradle bağımlılığı olarak eklenen IronPDF kütüphanesi ve herhangi bir IronPDF çağrısından önce License.setLicenseKey() ile ayarlanmış geçerli bir lisans anahtarına ihtiyacınız var. Ek araç veya çerçeve gerekmemektedir.

PDF'lerde çok seviyeli yer imi hiyerarşileri oluşturabilir miyim?

Evet. Önce addBookMarkAtEnd ile üst düzey yer imlerini ekleyin, ardından bir üst yer iminin altına çocuk girişlerini yerleştirmek için insertBookmark(name, pageIndex, parentName, siblingName) çağırın. Yeni girişi ilk çocuk olarak yerleştirmek için kardeş adını null olarak geçirin.

addBookMarkAtEnd ile insertBookmark arasındaki fark nedir?

addBookMarkAtEnd yeni bir üst düzey girişi yer imi listesinin sonuna ekler. insertBookmark, bir üst yer imi adı ve isteğe bağlı bir önceki kardeş belirterek hiyerarşide belirli bir konumda bir yer işareti yerleştirir, bu da iç içe geçmiş özetler oluşturmaya olanak tanır.

Java'da mevcut yer imlerini bir PDF'den nasıl okurum?

pdf.getBookmark().getBookmarks() çağırarak üst düzey yer imlerinin düz bir listesini alın. Bireysel girişlere list.get(index) kullanarak erişebilirsiniz. Başlık için bookmark.getText() ve sıfır tabanlı sayfa numarası için bookmark.getPageIndex() kullanın. Çocuk yer imlerine bookmark.getChildren() üzerinden erişilebilir.

Belirli bir mevcut yer imi sonrasında bir yer imi nasıl eklerim?

getBookmarks() ile yer imi listesini alın, ardından hedef girdiye indeksle seçin ve hemen sonrasına bir kardeş eklemek için bookmark.addNextBookmark("Başlık", pageIndex) veya altına yeni bir giriş eklemek için bookmark.addChildBookmark("Başlık", pageIndex) çağırın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.