Hinzufügen von PDF-Lesezeichen und Gliederung in Java
Mit der Java-Bibliothek von IronPDF können Sie mithilfe der Klasse BookmarkManager programmatisch Lesezeichen und Gliederungen zu PDF-Dokumenten hinzufügen. Dabei werden sowohl einschichtige als auch mehrschichtige Lesezeichenstrukturen mit anpassbaren Navigationspunkten unterstützt.
Schnellstart: PDF-Lesezeichen in Java hinzufügen
- Installieren Sie die IronPDF-Java-Bibliothek und legen Sie Ihren Lizenzschlüssel fest
- Laden Sie Ihre PDF-Datei mit
PdfDocument.fromFile() - Holen Sie sich den
BookmarkManagermitpdf.getBookmark() - Fügen Sie Lesezeichen mit
addBookMarkAtEnd("Title", pageNumber)hinzu. - Speichern Sie die PDF-Datei mit
pdf.saveAs()
```java :title=Schnellstart PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf")); BookmarkManager bookmarks = pdf.getBookmark(); bookmarks.addBookMarkAtEnd("Kapitel 1", 0); pdf.saveAs(Path.of("bookmarked.pdf"));
PDF-Lesezeichen verbessern die Benutzerfreundlichkeit und die Navigation in Ihren Dokumenten erheblich. Gliederungen bieten eine strukturierte Navigation innerhalb von PDFs, die es den Benutzern ermöglicht, wie bei einem Inhaltsverzeichnis direkt zu wichtigen Abschnitten zu springen. Diese Funktionalität erweist sich als unerlässlich bei der Arbeit mit langen Dokumenten, Berichten oder PDF-Dateien mit mehreren Kapiteln, die eine organisierte Navigation erfordern.
IronPDF vereinfacht die PDF-Bearbeitung in Java-Anwendungen. Die Lesezeichenfunktionalität bietet einfache Methoden zur Erstellung von benutzerdefinierten Lesezeichen in PDF-Dateien. Die Bibliothek fügt sich nahtlos in Java-Anwendungen ein und unterstützt verschiedene PDF-Bearbeitungsfunktionen, die über das Setzen von Lesezeichen hinausgehen, darunter [Zusammenführen von PDFs](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), [Erstellen von Formularen](https://ironpdf.com/java/how-to/create-forms/) und [Hinzufügen von Wasserzeichen](https://ironpdf.com/java/how-to/custom-watermark/).
<div class="hsg-featured-snippet">
<h3>So fügen Sie PDF-Lesezeichen und Gliederungen hinzu</h3>
<ol>
<li><a href="https://ironpdf.com/java/#download-modal">Java-Bibliothek installieren, um Lesezeichen zu PDFs hinzuzufügen</a></li>
<li>Utilize the **`PdfDocument`** class to load an existing PDF file in Java</li>
<li>Create and customize the bookmarks with the **`BookmarkManager`** class</li>
<li>Use `addBookMarkAtEnd` to add bookmarks to specific pages of the PDF</li>
<li>Speichern Sie das PDF-Dokument mit der neuen Gliederung und den Lesezeichen</li>
</ol>
</div>
## Was brauche ich, bevor ich anfange?
Bevor Sie PDF-Lesezeichen implementieren, sollten Sie sicherstellen, dass IronPDF in Ihrem Java-Projekt richtig konfiguriert ist. Die Bibliothek erfordert Java 8 oder höher und kann leicht mit Maven oder Gradle integriert werden. Sie müssen die IronPDF-Abhängigkeit zu der Build-Datei Ihres Projekts hinzufügen. Detaillierte Anweisungen zur Einrichtung finden Sie in der [Übersicht für den Einstieg](https://ironpdf.com/java/docs/).
Sie müssen auch sicherstellen, dass Ihr Lizenzschlüssel korrekt konfiguriert ist, da IronPDF für die Entwicklung lizenziert werden muss. Umfassende Informationen über die Lizenzierungsoptionen und die Implementierung finden Sie im [Lizenzierungsleitfaden](https://ironpdf.com/java/get-started/license-keys/). Legen Sie den Lizenzschlüssel zu Beginn Ihrer Anwendung fest, bevor Sie die IronPDF-Funktionen nutzen.
## Wie füge ich Gliederung und Lesezeichen zu einer PDF-Datei hinzu?
Für dieses Beispiel werde ich dieses [Beispiel-PDF](/static-assets/ironpdf-java/howto/bookmarks/NovelSample.pdf) verwenden, um die Gliederung und die Lesezeichen anzuwenden. Der Prozess beinhaltet das Laden eines bestehenden PDF-Dokuments und die Verwendung von IronPDFs `BookmarkManager`, um Navigationspunkte im gesamten Dokument hinzuzufügen.
### Wie kann ich eine einzelne Ebene von Lesezeichen hinzufügen?
Nachdem Sie diese PDF-Datei mithilfe der Klasse [`PdfDocument`.fromFile](https://ironpdf.com/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html) aus dem angegebenen Dateipfad geladen haben, rufen Sie das Objekt [`BookmarkManager`](https://ironpdf.com/java/object-reference/api/com/ironsoftware/ironpdf/bookmark/BookmarkManager.html) ab, um mit dem Hinzufügen von Lesezeichen zu beginnen. Sie können Lesezeichen am Anfang oder Ende der Lesezeichensammlung hinzufügen, indem Sie die Methoden `addBookMarkAtEnd` und `addBookMarkAtStart` verwenden. Diese Methoden bieten Flexibilität bei der Organisation Ihrer Lesezeichen entsprechend der Struktur Ihres Dokuments.
TippsDenken Sie daran, dass alle Seitenindizes der nullbasierten Indizierung folgen.
```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"));
}
}
Mit dem obigen PDF-Viewer können Sie in den meisten Browsern das Inhaltsverzeichnis in der linken oberen Ecke aufrufen, um alle hinzugefügten Lesezeichen zu sehen. Die einschichtige Lesezeichenstruktur ermöglicht eine unkomplizierte Navigation in Dokumenten mit einfachen organisatorischen Anforderungen.
Wie kann ich mehrere Ebenen von Lesezeichen erstellen?
Beginnen Sie in diesem Beispiel mit dem Hinzufügen von Lesezeichen, wie beim Erstellen einer einzelnen Ebene von Lesezeichen. Als Nächstes verwenden Sie die Methode insertBookmark , um ein neues Lesezeichen auf einer neuen Ebene hinzuzufügen. Der erste Parameter gibt den Namen des Lesezeichens an, der zweite Parameter die Seite, auf die das Lesezeichen verweist. Um eine neue Ebene zu erstellen, machen Sie das neue Lesezeichen zu einem "Kind" eines bestehenden Lesezeichens, indem Sie den dritten Parameter der Methode verwenden. Diese hierarchische Struktur eignet sich für Dokumente mit Kapiteln, Abschnitten und Unterabschnitten.
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 bookmarks at the end
bookmarks.addBookMarkAtEnd("Title Page", 0);
bookmarks.addBookMarkAtEnd("Table of Contents", 1);
bookmarks.addBookMarkAtEnd("Dedication", 2);
// Insert second layer bookmarks
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 multiple layer bookmarks
pdf.saveAs(Path.of("multiLayer.pdf"));
}
}
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 bookmarks at the end
bookmarks.addBookMarkAtEnd("Title Page", 0);
bookmarks.addBookMarkAtEnd("Table of Contents", 1);
bookmarks.addBookMarkAtEnd("Dedication", 2);
// Insert second layer bookmarks
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 multiple layer bookmarks
pdf.saveAs(Path.of("multiLayer.pdf"));
}
}
Hier sehen Sie die PDF-Datei mit unserer neuen Baumstruktur der Lesezeichen. Schauen Sie sich die Gliederung an, um zu sehen, wie die Funktion insertBookmark eine neue Ebene von Lesezeichen hinzugefügt hat. Dieser mehrschichtige Ansatz eignet sich für technische Dokumentationen, akademische Arbeiten oder jedes Dokument, das eine detaillierte Navigationsstruktur erfordert.
Wie kann ich vorhandene Lesezeichen aus einer PDF-Datei wiederherstellen?
Das IronPDF-Lesezeichen-Tool fügt nicht nur neue Lesezeichen hinzu, sondern ruft auch bestehende Lesezeichen ab und zeigt sie an. Diese Funktionalität erweist sich als unerlässlich, wenn es darum geht, bestehende PDFs zu modifizieren oder ihre Struktur zu analysieren. Um durch Lesezeichen zu navigieren, laden Sie zuerst die PDF-Datei mit der Methode PdfDocument.fromFile . Greifen Sie anschließend auf das Objekt BookmarkManager zu und verwenden Sie die Methode getBookmarks , um alle Lesezeichen, einschließlich der untergeordneten Lesezeichen, abzurufen. Abschließend kann mit der Methode get ein Lesezeichen anhand seines Index in der Liste abgerufen werden. Diese Funktion ermöglicht die programmatische Untersuchung und Bearbeitung bestehender PDF-Navigationsstrukturen.
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
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
// Retrieve a specific bookmark by its 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());
}
}
}
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
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
// Retrieve a specific bookmark by its 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());
}
}
}
Wie kann ich ein Lesezeichen in einen bestimmten Index einfügen?
Mit abgerufenen Lesezeichen können Sie neue Lesezeichen an bestimmten Stellen des Dokuments hinzufügen. Diese Funktion hilft bei der Aktualisierung bestehender PDFs mit neuen Abschnitten oder bei der Reorganisation der Dokumentstruktur. Um dies zu erreichen, wählen Sie das gewünschte Lesezeichen aus und verwenden Sie die Methode addNextBookmark, um ein neues Lesezeichen danach hinzuzufügen. Nehmen Sie zum Beispiel die PDF-Datei aus dem Abschnitt 'Add Multiple Layers of Bookmarks' und fügen Sie ein Lesezeichen nach dem Lesezeichen 'Third Page' ein. Sie können auch ein untergeordnetes Lesezeichen als tiefere Ebene mit Hilfe der Methode addChildBookmark hinzufügen, wodurch Sie die Navigationshierarchie Ihres Dokuments präzise steuern können.
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 we modified earlier
PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));
// Get the BookmarkManager
BookmarkManager bookmarks = pdf.getBookmark();
// Retrieve the list of bookmarks
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
// Retrieve a specific bookmark by its index
Bookmark bookmark = bookmarkList.get(5);
// Add a new bookmark after the specified bookmark
bookmark.addNextBookmark("Fourth Page", 6);
// Add another layer to 'Third page' bookmark
bookmark.addChildBookmark("Section 1", 7);
// Save the modified PDF
pdf.saveAs(Path.of("specificIndex.pdf"));
}
}
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 we modified earlier
PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));
// Get the BookmarkManager
BookmarkManager bookmarks = pdf.getBookmark();
// Retrieve the list of bookmarks
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
// Retrieve a specific bookmark by its index
Bookmark bookmark = bookmarkList.get(5);
// Add a new bookmark after the specified bookmark
bookmark.addNextBookmark("Fourth Page", 6);
// Add another layer to 'Third page' bookmark
bookmark.addChildBookmark("Section 1", 7);
// Save the modified PDF
pdf.saveAs(Path.of("specificIndex.pdf"));
}
}
Wenn Sie mit Lesezeichen in komplexen PDF-Workflows arbeiten, sollten Sie auch die anderen Funktionen von IronPDF in Betracht ziehen, z. B. Aufteilung von PDFs zur Erstellung kleinerer Dokumente mit eigenen Lesezeichenstrukturen oder Drucken von PDFs mit intakter Lesezeichennavigation. Weitere fortgeschrittene Beispiele und vollständige Code-Demonstrationen finden Sie im Lesezeichen-Codebeispiel in unserem Beispielbereich.
Häufig gestellte Fragen
Wie kann ich in Java Lesezeichen zu einem PDF-Dokument hinzufügen?
Mit der Klasse BookmarkManager von IronPDF können Sie Lesezeichen zu PDF-Dokumenten hinzufügen. Laden Sie zunächst Ihr PDF-Dokument mit PdfDocument.fromFile(), greifen Sie dann mit pdf.getBookmark() auf den BookmarkManager zu und fügen Sie Lesezeichen mit der Methode addBookMarkAtEnd() unter Angabe des Lesezeichentitels und der Seitenzahl hinzu.
Was sind die Voraussetzungen für das programmgesteuerte Hinzufügen von PDF-Lesezeichen?
Um PDF-Lesezeichen mit IronPDF hinzuzufügen, benötigen Sie Java 8 oder höher, die IronPDF-Bibliothek, die über Maven oder Gradle integriert ist, und einen gültigen Lizenzschlüssel, der in Ihrer Anwendung konfiguriert ist. Die Bibliothek unterstützt sowohl einschichtige als auch mehrschichtige Lesezeichenstrukturen.
Kann ich mehrstufige Lesezeichenhierarchien in PDFs erstellen?
Ja, IronPDF unterstützt die Erstellung von ein- und mehrschichtigen Lesezeichenstrukturen. Sie können eine hierarchische Navigation mit über- und untergeordneten Lesezeichen erstellen, indem Sie die BookmarkManager-Klasse verwenden, um komplexe PDF-Dokumente zu organisieren.
Welchen Zweck erfüllen PDF-Lesezeichen und Gliederungen?
PDF-Lesezeichen und Gliederungen verbessern die Benutzerfreundlichkeit von Dokumenten erheblich, da sie eine strukturierte Navigation ermöglichen. Sie ermöglichen es den Benutzern, direkt zu wichtigen Abschnitten wie einem Inhaltsverzeichnis zu springen, was besonders bei langen Dokumenten, Berichten oder PDFs mit mehreren Kapiteln von Vorteil ist. IronPDF macht es einfach, diese Navigationsfunktionen programmatisch zu implementieren.
Welche anderen Funktionen zur PDF-Bearbeitung gibt es außer dem Setzen von Lesezeichen?
IronPDF bietet nicht nur das Hinzufügen von Lesezeichen, sondern auch umfassende PDF-Bearbeitungsfunktionen wie das Zusammenführen von PDFs, das Erstellen von Formularen, das Hinzufügen von Wasserzeichen und verschiedene andere Dokumentverarbeitungsfunktionen. Diese Funktionen lassen sich nahtlos in Java-Anwendungen integrieren und ermöglichen so eine vollständige PDF-Verwaltung.
Wie kann ich eine PDF-Datei speichern, nachdem ich Lesezeichen hinzugefügt habe?
Nachdem Sie mit dem IronPDF BookmarkManager Lesezeichen hinzugefügt haben, speichern Sie das geänderte PDF-Dokument, indem Sie die saveAs()-Methode für Ihr PdfDocument-Objekt aufrufen und den Pfad der Ausgabedatei angeben, in der Sie das mit Lesezeichen versehene PDF-Dokument speichern möchten.

