Java'da PDF Yer İşaretleri ve Anahat Nasıl Eklenir
IronPDF Java kütüphanesi, kitaplıkları ve ana hatları programatik olarak PDF belgelerine eklemenize olanak tanır; hem tek katmanlı hem de çok katmanlı yer imleri yapıları için özelleştirilebilir gezinme noktaları ile destek veren BookmarkManager sınıfı aracılığıyla.
Hızlı Başlangıç: Java'da PDF Yer İmleri Ekleme
- IronPDF Java kütüphanesini yükleyin ve lisans anahtarınızı ayarlayın
- PDF'nizi
PdfDocument.fromFile()ile yükleyin BookmarkManagerobjesinipdf.getBookmark()ile alınaddBookMarkAtEnd("Title", pageNumber)kullanarak yer imleri ekleyin- PDF'i
pdf.saveAs()ile kaydedin
:title=Quickstart
//: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("Chapter 1", 0);
pdf.saveAs(Path.of("bookmarked.pdf"));
:title=Quickstart
//: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("Chapter 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, formlar oluşturma ve filigranlar ekleme içerir.
PDF Yer İşaretleri ve İçindekiler Nasıl Eklenir
- PDF'lere yer imleri eklemek için Java kütüphanesini kurun
- PdfDocument sınıfını kullanarak Java'da mevcut bir PDF dosyasını yükleyin
- BookmarkManager sınıfı ile yer imleri oluşturun ve özelleştirin
addBookMarkAtEndfonksiyonunu kullanarak PDF'nin belirli sayfalarına yer imleri ekleyin- Yeni anahat ve yer imlerini içeren PDF belgesini kaydedin
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 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ıç Özetine 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. Lisanslama" target="_blank">https://ironpdf.com/java/get-started/license-keys/">Lisanslama seçenekleriyle ilgili bilgi için lisans kılavuzunu ziyaret edin
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'yi kullanır. Bu işlem, mevcut bir PDF belgesinin yüklenmesini ve belgenin tamamına gezinme noktalarının eklenmesini sağlayan IronPDF BookmarkManager kullanılarak gerçekleştirilir.
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. PDF'i PdfDocument.fromFile() kullanarak bir dosya yolundan yükledikten sonra, yer imleri eklemeye başlamak için BookmarkManager nesnesini alın.
addBookMarkAtEnd ve addBookMarkAtStart yöntemleri, sırasıyla yer imi koleksiyonunun sonuna veya başına girişler 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.
//: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"));
}
}
//: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 yeni katmanlarda girişler eklemek için insertBookmark yöntemini kullanın.
insertBookmark yöntemi dört parametre kabul eder: yer imi adı, hedef sayfa dizini, öğe yer iminin adı ve önceki kardeş yer ima adı. Bir üst yer imi adı geçirerek, altına yerleşik bir alt giriş oluşturursunuz. Kardeş parametresini null olarak ayarlamak, yeni girişi o ebeveynin ilk çocuğu 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, insertBookmark tarafından oluşturulan yer imlerinin ağaç yapısını gösterir. 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.
IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.
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. PDF'i PdfDocument.fromFile() ile yükleyin, BookmarkManager erişin, ardından tüm üst düzey yer imlerini almak için getBookmarks() çağırın.
Bir listenin içindeki konumu ile belirli bir yer ima erişmek için get(index) kullanın. getText() yöntemi yer iminin görüntü etiketini döndürürken, getPageIndex() sıfır tabanlı olarak hedeflenen sayfa numarasını döndürür. Çocuk yer imleri, getBookmarks() tarafından geri döndürülen düz listede dahil değildir; her bir öğe yer imi getChildren() yöntemiyle onlara erişin.
//: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());
}
}
}
The getBookmarks() yöntemi yalnızca en üst düzey yer imlerinin düz bir listesini döndürür. Tam yer imi ağacını gezmek için, iç içe yerleri olan her bir yer imi üzerinde getChildren() yöntemini özyinelemeli 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.
Düz yer imleri listesini getBookmarks() kullanarak alın, hedef yer imini listedeki dizini ile seçin ve hemen ardından yeni bir kardeş eklemek için addNextBookmark çağırın. Seçilen yer iminin altına bir seviye derine yeni bir giriş yerleştirmek 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, hemen ardından listede, seçilen yer iminin bir kardeşi olarak ekler. addChildBookmark yöntemi yeni girişi, seçilen yer iminin altında, bir seviye derine 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, düz giriş listeleri ekleme, derin çok seviyeli anahatlar oluşturma, mevcut girişleri alma ve belirli pozisyonlarda ekleme dahil, tüm yer imi işlemleri yelpazesini yönetir.
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.


