Java'da PDF Yer İşaretleri ve Anahat Nasıl Eklenir
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
- IronPDF Java kütüphanesini yükleyin ve lisans anahtarınızı ayarlayın
PdfDocument.fromFile()kullanarak PDF'nizi yükleyinBookmarkManagerilepdf.getBookmark()'yi alınaddBookMarkAtEnd("Title", pageNumber)kullanarak yer imleri ekleyin- 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"));
}
}
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());
}
}
}
getBookmarks() 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"));
}
}
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:
- Java'da PDF'leri Böl: her biri kendi yer imi yapısını taşıyan daha küçük, bağımsız belgeler oluşturun
- Java'da PDF'leri Yazdır: yer imlenmiş belgeleri gezinme korunarak bir yazıcıya gönderin
- Java PDF eğitimleri: yaygın PDF iş akışları için ek uçtan uca örnekler
- Java'da PDF'lere Ek Açıklamalar Ekle: belirli sayfa konumlarına yorum ve işaret ekleyin
- IronPDF for Java örnekleri: tüm IronPDF Java API'si için kopyala-yapıştır kod örnekleri
Ü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.


