How to Add PDF Bookmarks and Outline in Java

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

Die Einbindung von PDF-Lesezeichen in Ihr Java-Projekt kann die Benutzerfreundlichkeit und die Navigation in Ihren PDFs erheblich verbessern. Gliederungen in PDFs bieten eine einfache Methode zur Navigation innerhalb des PDFs selbst, so dass Sie ähnlich wie bei einem Inhaltsverzeichnis leicht zu den wichtigsten Seiten innerhalb des Dokuments navigieren können.

IronPDF ist ein leistungsstarkes PDF-Tool, das die Arbeit mit PDF-Dateien zu einem Kinderspiel macht. Das Lesezeichen-Werkzeug bietet Ihnen eine übersichtliche, benutzerfreundliche Methode zur Erstellung von benutzerdefinierten Lesezeichen für Ihre PDF-Dateien.

Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer

Bevor wir loslegen

Sie müssen auch sicherstellen, dass Sie Ihren Lizenzschlüssel richtig eingestellt haben, da IronPDF für die Entwicklung lizenziert werden muss.

Beispiel für Gliederung & Lesezeichen hinzufügen

Für das heutige Beispiel werde ich dieses Beispiel-PDF verwenden, um die Gliederung und die Lesezeichen anzuwenden.

Einzelne Ebene von Lesezeichen hinzufügen

After loading this PDF from the specified file path using the PdfDocument class, we can start adding bookmarks to the document by retrieving the BookmarkManager object. Mit den Methoden addBookMarkAtEnd und addBookMarkAtStart können Sie das Lesezeichen an den Anfang oder das Ende der Lesezeichensammlung setzen.

{t:(Denken Sie daran, dass alle Seitenindizes eine nullbasierte Indizierung verwenden.)}]

import java.io.IOException;
import java.nio.file.Path;
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"));
    }
}
import java.io.IOException;
import java.nio.file.Path;
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"));
    }
}
JAVA

Mit dem obigen PDF-Viewer können Sie das Inhaltsverzeichnis, das sich in der oberen linken Ecke der meisten Browser befindet, überprüfen, um alle von uns hinzugefügten Lesezeichen zu sehen.

Mehrere Ebenen von Lesezeichen hinzufügen

In diesem Beispiel beginnen wir mit dem Hinzufügen von Lesezeichen, so wie wir es bei der Erstellung einer einzelnen Ebene von Lesezeichen getan haben. Als Nächstes verwenden wir die Methode insertBookmark, um ein neues Lesezeichen auf einer neuen Ebene hinzuzufügen und ihm mit dem ersten Parameter der Methode einen Namen zu geben. Der zweite Parameter gibt die Seite an, auf die das neue Lesezeichen verweist. Um eine neue Ebene zu erstellen, machen wir das neue Lesezeichen zu einem "Kind" eines bestehenden Lesezeichens, was über den dritten Parameter der Methode geschieht.

import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // 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.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // 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"));
    }
}
JAVA

Hier sehen Sie die PDF-Datei mit unserer neuen Baumstruktur der Lesezeichen. Schauen Sie sich die Gliederung selbst an, um zu sehen, wie die Funktion insertBookmark eine neue Ebene von Lesezeichen hinzugefügt hat.


Lesezeichen abrufen

Das IronPDF-Lesezeichen-Tool fügt nicht nur neue Lesezeichen hinzu, sondern ruft auch bestehende Lesezeichen ab und zeigt sie an. Um durch die Lesezeichen zu navigieren, laden Sie die PDF-Datei zunächst mit der Methode PdfDocument.fromFile. Greifen Sie dann auf das BookmarkManager-Objekt zu und verwenden Sie die getBookmarks-Methode, um alle Lesezeichen abzurufen, einschließlich der untergeordneten Lesezeichen. Schließlich können Sie mit der Methode get ein Lesezeichen über seinen Index in der Liste abrufen.

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 {
        // 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);

        // Example usage of the retrieved bookmark could be added here
    }
}
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 {
        // 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);

        // Example usage of the retrieved bookmark could be added here
    }
}
JAVA

Lesezeichen in bestimmten Index einfügen

Mit den abgerufenen Lesezeichen haben Sie die Möglichkeit, neue Lesezeichen an bestimmten Stellen des Dokuments hinzuzufügen. Wählen Sie dazu das gewünschte Lesezeichen aus und fügen Sie mit der Methode addNextBookmark ein neues Lesezeichen nach diesem Lesezeichen hinzu. Wir nehmen zum Beispiel die PDF-Datei aus dem Abschnitt 'Add Multiple Layers of Bookmarks' und fügen ein Lesezeichen nach dem Lesezeichen 'Third Page' ein. Mit der Methode addChildBookmark können Sie auch ein Child-Bookmark als tiefere Ebene hinzufügen.

import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
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 {
        // 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.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // 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"));
    }
}
JAVA

{i:(Wenn Sie zwei PDF-Dokumente zusammenführen, deren Lesezeichen denselben Namen haben, kann dies zu einer Störung in der Lesezeichenliste selbst führen.)}]

Häufig gestellte Fragen

Wie kann ich Lesezeichen zu einem PDF in Java hinzufügen?

Um Lesezeichen zu einem PDF in Java hinzuzufügen, verwenden Sie die IronPDF-Bibliothek. Laden Sie Ihr PDF mit der PdfDocument-Klasse, und nutzen Sie dann die BookmarkManager-Klasse, um Lesezeichen einzufügen und anzupassen. Speichern Sie dann das Dokument, um die Änderungen anzuwenden.

Welche Vorteile bieten Lesezeichen in PDF-Dokumenten?

Lesezeichen in PDF-Dokumenten verbessern die Navigation und die Benutzerfreundlichkeit erheblich, indem sie den Nutzern ermöglichen, direkt zu wichtigen Abschnitten zu springen, ähnlich wie ein Inhaltsverzeichnis.

Wie erstelle ich hierarchische Lesezeichen in einem PDF mit Java?

Um hierarchische Lesezeichen in einem PDF mit Java zu erstellen, verwenden Sie die BookmarkManager-Klasse von IronPDF. Verwenden Sie die insertBookmark-Methode, um unter bestehende Lesezeichen untergeordnete Lesezeichen hinzuzufügen und so mehrere Ebenen zu erstellen.

Was ist die empfohlene Methode zur Einrichtung der IronPDF-Lizenzierung in Java?

Richten Sie Ihre IronPDF-Lizenz in Java ein, indem Sie die License.setLicenseKey-Methode mit Ihrem Lizenzschlüssel aufrufen, bevor Sie PDF-Funktionen nutzen, um die volle Funktionalität sicherzustellen.

Kann IronPDF das Abrufen vorhandener PDF-Lesezeichen handhaben?

Ja, IronPDF kann vorhandene PDF-Lesezeichen abrufen. Laden Sie das PDF mit der PdfDocument-Klasse, greifen Sie auf den BookmarkManager zu und verwenden Sie die getBookmarks-Methode, um alle Lesezeichen aufzulisten.

Wie kann ich ein Lesezeichen zu einer bestimmten Seite in einem PDF mit Java hinzufügen?

Verwenden Sie in Java die addBookMarkAtEnd-Methode von IronPDF, um ein Lesezeichen zu einer bestimmten Seite innerhalb eines PDF-Dokuments hinzuzufügen. Dies ermöglicht es Ihnen, wichtige Abschnitte genau zu bestimmen und hervorzuheben.

Was ist die Bedeutung der Nullbasierten Indizierung beim Arbeiten mit PDF-Lesezeichen?

Die Nullbasierte Indizierung ist entscheidend beim Arbeiten mit PDF-Lesezeichen, da die Seitennummern bei Null beginnen. Beispielsweise ist die erste Seite der Index 0, was für die genaue Platzierung der Lesezeichen wesentlich ist.

Wie speichere ich ein modifiziertes PDF mit neuen Lesezeichen mit IronPDF in Java?

Nachdem Sie Lesezeichen in einem PDF mit IronPDF hinzugefügt oder bearbeitet haben, speichern Sie das aktualisierte Dokument mit der saveAs-Methode der PdfDocument-Klasse, um Ihre Änderungen zu behalten.

Was sollte ich beim Zusammenführen von PDFs mit Lesezeichen mit IronPDF beachten?

Beim Zusammenführen von PDFs mit Lesezeichen mit IronPDF stellen Sie sicher, dass die Lesezeichen eindeutige Namen haben, um eine kohärente und organisierte Lesezeichenliste ohne Konflikte zu erhalten.

Wie kann ich ein untergeordnetes Lesezeichen in einem PDF mit IronPDF hinzufügen?

Um ein untergeordnetes Lesezeichen in einem PDF mit IronPDF hinzuzufügen, verwenden Sie die addChildBookmark-Methode, die es Ihnen ermöglicht, eine tiefere, hierarchische Lesezeichenstruktur im Dokument zu erstellen.

Ist IronPDF mit .NET 10 für Lesezeichen und Gliederungen kompatibel?

Ja. IronPDF unterstützt .NET 10 – wie aus den Metadaten des NuGet-Pakets hervorgeht, werden Versionen wie 2023.6.10 für net10.0 sowie für Android, iOS, Browser, MacCatalyst, macOS, tvOS und Windows berechnet – und ermöglichen so die volle Funktionalität von Lesezeichen und Gliederungen unter .NET 10. ([nuget.org](https://www.nuget.org/packages/IronPdf/2023.6.10?utm_source=openai))

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen
Bereit anzufangen?
Version: 2025.11 gerade veröffentlicht