So fügen Sie PDF-Lesezeichen und -Umrisse in Java hinzu
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.
PDF-Lesezeichen und Gliederung hinzufügen
- Java-Bibliothek installieren, um Lesezeichen zu PDFs hinzuzufügen
- Verwenden Sie die PdfDocument-Klasse, um eine bestehende PDF-Datei in Java zu laden.
- Erstellen und passen Sie die Lesezeichen mit der BookmarkManager-Klasse an
- Verwenden Sie
addBookMarkAtEnd
, um Lesezeichen zu bestimmten Seiten des PDFs hinzuzufügen - Speichern Sie das PDF-Dokument mit der neuen Gliederung und den Lesezeichen.
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
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 Beispiel-PDF verwenden, um das Inhaltsverzeichnis und die Lesezeichen anzuwenden.
Einzelne Ebene von Lesezeichen hinzufügen
Nach dem Laden dieser PDF-Datei vom angegebenen Dateipfad mit der PdfDocument-Klasse können wir beginnen, Lesezeichen zum Dokument hinzuzufügen, indem wir das BookmarkManager-Objekt abrufen. Sie können das Lesezeichen am Anfang oder Ende der Lesezeichensammlung mithilfe der Methoden addBookMarkAtEnd
und addBookMarkAtStart
hinzufügen.
Tipps
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"));
}
}
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 verwenden wir die insertBookmark-Methode, 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"));
}
}
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 zuerst das PDF mit der PdfDocument.fromFile-Methode. Greifen Sie dann auf das BookmarkManager-Objekt zu und verwenden Sie die getBookmarks-Methode, um alle Lesezeichen, einschließlich der untergeordneten Lesezeichen, abzurufen. 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);
}
}
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 die addNextBookmark-Methode, um ein neues Lesezeichen danach hinzuzufügen. Beispielsweise nehmen wir das PDF aus dem 'Add Multiple Layers of Bookmarks'-Abschnitt und fügen ein Lesezeichen nach dem 'Third Page'-Lesezeichen hinzu. Sie können auch ein untergeordnetes Lesezeichen als tiefere Ebene mit der addChildBookmark
-Methode 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"));
}
}