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
- Installieren Sie die Java-Bibliothek, um Lesezeichen zu PDFs hinzuzufügen.
- Nutzen Sie die PdfDocument Klasse zum Laden einer vorhandenen PDF-Datei in Java
- Erstellen und anpassen der Lesezeichen mit dem BookmarkManager klasse
- Verwenden Sie
addBookMarkAtEnd
Lesezeichen zu bestimmten Seiten der PDF hinzufü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 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
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 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"));
}
}
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);
}
}
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"));
}
}