So fügen Sie PDF-Lesezeichen und -Umrisse in Java hinzu

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

von Kye Stuart

Das Einfügen von PDF-Lesezeichen in Ihr Java-Projekt kann die Benutzerfreundlichkeit und Navigation Ihrer PDFs erheblich verbessern. Übersichten in PDFs bieten eine einfache Navigationsmethode innerhalb des PDFs selbst, sodass Sie problemlos zu wichtigen Seiten im Dokument navigieren können, ähnlich wie bei einem Inhaltsverzeichnis.

IronPDF ist ein leistungsstarkes PDF-Tool, das die Arbeit mit PDF-Dateien zum Kinderspiel macht. Das Lesezeichen-Tool bietet Ihnen eine prägnante, benutzerfreundliche Methode zum Erstellen benutzerdefinierter Lesezeichen für Ihre PDF-Dateien.

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer

Bevor wir beginnen

Sie müssen auch sicherstellen, dass Ihr Lizenzschlüssel korrekt eingerichtet ist, da IronPDF für die Entwicklung lizenziert sein muss.

Umriss & Lesezeichen hinzufügen Beispiel

Für das heutige Beispiel werde ich dieses verwendenmuster-PDFum die Gliederung und Lesezeichen anzuwenden.

Einzelne Ebene von Lesezeichen hinzufügen

Nach dem Laden dieses PDF-Dokuments vom angegebenen Dateipfad unter Verwendung desPdfDocumentKlasse können wir beginnen, Lesezeichen zum Dokument hinzuzufügen, indem wir dieBookmarkManager objekt. Sie können das Lesezeichen am Anfang oder Ende der Lesezeichensammlung mit den Methoden addBookMarkAtEnd und addBookMarkAtStart hinzufügen.

Tipps
Denken Sie daran, dass alle Seitenindizes der Null-basierten Indizierung folgen.

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 {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));

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

        // Add bookmarks
        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);

        pdf.saveAs(Path.of("bookmarked.pdf"));
    }
}
JAVA

Mit dem obigen PDF-Betrachter können Sie das Inhaltsverzeichnis, das sich in der oberen linken Ecke der meisten Browser befindet, überprüfen, um alle Lesezeichen zu sehen, die wir hinzugefügt haben.

Mehrere Ebenen von Lesezeichen hinzufügen

In diesem Beispiel beginnen wir damit, Lesezeichen hinzuzufügen, genau wie wir es getan haben, als wir eine einzelne Ebene von Lesezeichen erstellt haben. Als nächstes werden wir den Lesezeichen einfügenMethode, um ein neues Lesezeichen auf einer neuen Ebene hinzuzufügen und ihm mithilfe des ersten Parameters 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 mithilfe des dritten Parameters der Methode erfolgt.

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 {
        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));

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

        // Add bookmarks
        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");

        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
JAVA

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


Lesezeichen abrufen

Das Lesezeichen-Tool von IronPDF fügt nicht nur neue Lesezeichen hinzu, sondern ruft auch vorhandene ab und zeigt sie an. Um durch Lesezeichen zu navigieren, laden Sie zunächst das PDF mit demPdfDocument.fromFile methode. Dann greifen Sie auf das BookmarkManager-Objekt zu und verwenden Sie dasgetBookmarksMethode zum Abrufen aller Lesezeichen, einschließlich untergeordneter Lesezeichen. Verwenden Sie schließlich die get-Methode, um ein Lesezeichen anhand seines Indexes in der Liste abzurufen.

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 {
        PdfDocument pdf = PdfDocument.fromFile(Path.of("bookmarked.pdf"));

        BookmarkManager bookmarks = pdf.getBookmark();

        // Retrieve bookmarks list
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();
        Bookmark bookmark = bookmarkList.get(2);
    }
}
JAVA

Lesezeichen an einer bestimmten Position einfügen

Mit den abgerufenen Lesezeichen haben Sie die Möglichkeit, neue Lesezeichen an bestimmten Positionen innerhalb des Dokuments hinzuzufügen. Um dies zu tun, wählen Sie das gewünschte Lesezeichen aus und verwenden Sie dasaddNextBookmarkMethode, um ein neues Lesezeichen danach hinzuzufügen. Zum Beispiel nehmen wir das PDF aus dem Abschnitt 'Mehrere Ebenen von Lesezeichen hinzufügen' und fügen ein Lesezeichen nach dem 'Dritte Seite' Lesezeichen hinzu. Sie können auch ein untergeordnetes Lesezeichen als tiefere Ebene mit der Methode addChildBookmark 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 {
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        BookmarkManager bookmarks = pdf.getBookmark();
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        Bookmark bookmark = bookmarkList.get(5);
        bookmark.addNextBookmark("Fourth Page", 6);

        // Add another layer to 'Third page' bookmark
        bookmark.AddChildBookmark("Section 1", 7);

        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
JAVA

Bitte beachten Sie
Wenn Sie zwei PDF-Dokumente zusammenführen, deren Lesezeichen identische Namen haben, kann dies zu einer Störung in der Lesezeichenliste führen.