Lesezeichen in einer PDF Datei sind hilfreich, um interessante Punkte im Dokument zu markieren. Diese ermöglichen es Ihnen, schnell zu einer bestimmten Stelle im Dokument zu springen. Sie befinden sich möglicherweise in Situationen, in denen Sie Lesezeichen in einer PDF Datei programmgesteuert hinzufügen, lesen, ändern oder löschen müssen. Dazu lernen Sie in diesem Artikel, wie Sie mit Lesezeichen in PDF Dateien mit C++ arbeiten.
- C++-API zum Arbeiten mit Lesezeichen in PDF Dateien
- Lesezeichen in PDF Dateien mit C++ hinzufügen
- Fügen Sie verschachtelte Lesezeichen in PDF Dateien hinzu
- Lesezeichen aus einer PDF Datei mit C++ lesen
- Ändern Sie den Lesezeichentitel mit C++
- Löschen Sie ein bestimmtes Lesezeichen mit C++
- Löschen Sie alle Lesezeichen in einer PDF Datei mit C++
- Holen Sie sich eine kostenlose Lizenz
C++-API zum Arbeiten mit Lesezeichen in PDF Dateien
Aspose.PDF for C++ ist eine C++ Bibliothek, mit der Sie PDF Dokumente erstellen, lesen und aktualisieren können. Darüber hinaus unterstützt die API das Hinzufügen, Lesen, Ändern und Entfernen von Lesezeichen aus PDF Dateien. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt downloads herunterladen.
PM> Install-Package Aspose.PDF.Cpp
Lesezeichen in PDF Dateien mit C++ hinzufügen
Im Folgenden finden Sie die Schritte zum Hinzufügen eines Lesezeichens in einer PDF Datei.
- Erstellen Sie zunächst eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Erstellen Sie das Lesezeichen mit der methode PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber).
- Speichern Sie das PDF Dokument mit der methode PdfBookmarkEditor->Save(System::String destFile).
Der folgende Beispielcode zeigt, wie Sie mit C++ ein Lesezeichen in eine PDF Datei einfügen.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Erstellen Sie das Lesezeichen
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Speichern Sie das PDF Dokument
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
Fügen Sie verschachtelte Lesezeichen in PDF Dateien hinzu
Sie können auch verschachtelte Lesezeichen mit der Aspose.PDF for C++ API hinzufügen. Im Folgenden sind die Schritte zum Hinzufügen von verschachtelten Lesezeichen aufgeführt.
- Erstellen Sie eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Erstellen Sie Lesezeichen mit der Klasse Bookmark.
- Fügen Sie die untergeordneten Lesezeichen zur Instanz der Bookmarks Klasse hinzu und legen Sie sie als untergeordnetes Element des übergeordneten Lesezeichens fest, indem Sie bookmark->setChildItems(System::SharedPtr value) Methode.
- Fügen Sie die Lesezeichen mit PdfBookmarkEditor->CreateBookmarks(System::SharedPtr Lesezeichen) Methode.
- Speichern Sie abschließend das PDF Dokument mit der methode PdfBookmarkEditor->Save(System::String destFile).
Der folgende Beispielcode zeigt, wie Sie mit C++ verschachtelte Lesezeichen in eine PDF Datei einfügen.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Erstellen Sie das 1. untergeordnete Lesezeichen
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Zweites untergeordnetes Lesezeichen erstellen
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Übergeordnetes Lesezeichen erstellen
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm->set_Action(u"GoTo");
bm->set_PageNumber(1);
bm->set_Title(u"Parent");
// Legen Sie die untergeordneten Lesezeichen fest
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Fügen Sie die Lesezeichen zur PDF Datei hinzu
editor->CreateBookmarks(bm);
// Speichern Sie das PDF Dokument
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
Lesezeichen aus einer PDF Datei mit C++ lesen
Verwenden Sie zum Lesen der Lesezeichen die Methode PdfBookmarkEditor->ExtractBookmarks(). Im Folgenden finden Sie die Schritte zum Lesen von Lesezeichen aus einer PDF Datei.
- Erstellen Sie eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Rufen Sie alle Lesezeichen mit der methode PdfBookmarkEditor->ExtractBookmarks() ab.
- Durchlaufen Sie die Lesezeichen, um einzelne Lesezeichen abzurufen.
- Lesen Sie die Eigenschaften der Lesezeichen.
Der folgende Beispielcode zeigt, wie Lesezeichen aus einer PDF Datei mit C++ gelesen werden.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Rufen Sie alle Lesezeichen ab
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Durchlaufen Sie die Lesezeichen
for (System::SharedPtr<Bookmark> bm : bms) {
// Zeigt den Titel des Lesezeichens an
Console::WriteLine(bm->get_Title());
// Zeigen Sie das Ziel des Lesezeichens an
Console::WriteLine(bm->get_Destination());
}
Ändern Sie den Lesezeichentitel mit C++
Im Folgenden finden Sie die Schritte zum Ändern des Titels eines vorhandenen Lesezeichens in einer PDF Datei.
- Erstellen Sie eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Ändern Sie den Titel des Lesezeichens mit der methode PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle).
- Speichern Sie das PDF Dokument mit der methode PdfBookmarkEditor->Save(System::String destFile).
Der folgende Beispielcode veranschaulicht, wie der Titel eines vorhandenen Lesezeichens in einer PDF Datei geändert wird.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Titel des Lesezeichens ändern
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Speichern Sie das PDF Dokument
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Löschen Sie ein bestimmtes Lesezeichen mit C++
Die API stellt die Methode PdfBookmarkEditor->DeleteBookmarks(System::String title) bereit, um ein bestimmtes Lesezeichen aus einer PDF Datei zu löschen. Im Folgenden sind die Schritte zum Löschen eines bestimmten Lesezeichens aufgeführt.
- Erstellen Sie eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Löschen Sie das gewünschte Lesezeichen mit der methode PdfBookmarkEditor->DeleteBookmarks(System::String title).
- Speichern Sie das PDF Dokument mit der methode PdfBookmarkEditor->Save(System::String destFile).
Der folgende Beispielcode zeigt, wie ein bestimmtes Lesezeichen mit C++ gelöscht wird.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Löschen Sie ein bestimmtes Lesezeichen
editor->DeleteBookmarks(u"bookmark for page 1");
// Speichern Sie das PDF Dokument
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Löschen Sie alle Lesezeichen in einer PDF Datei mit C++
Anstatt Lesezeichen einzeln zu löschen, können Sie alle Lesezeichen auf einmal mit der methode PdfBookmarkEditor->DeleteBookmarks() entfernen. Im Folgenden finden Sie die Schritte zum Löschen aller Lesezeichen in einer PDF Datei.
- Erstellen Sie eine Instanz der Klasse PdfBookmarkEditor.
- Laden Sie das PDF Dokument mit dem PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) methode.
- Löschen Sie alle Lesezeichen mit der methode PdfBookmarkEditor->DeleteBookmarks().
- Speichern Sie das PDF Dokument mit der methode PdfBookmarkEditor->Save(System::String destFile).
Im Folgenden finden Sie den Beispielcode zum Löschen aller Lesezeichen in einer PDF Datei.
// Erstellen Sie eine Instanz der PdfBookmarkEditor Klasse
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Laden Sie das PDF Dokument
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Alle Lesezeichen löschen
editor->DeleteBookmarks();
// Speichern Sie das PDF Dokument
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Holen Sie sich eine kostenlose Lizenz
Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie in C++ mit Lesezeichen in PDF Dateien arbeiten. Insbesondere haben Sie gelernt, wie Sie Lesezeichen in einer PDF Datei hinzufügen, lesen, ändern und löschen. Außerdem haben Sie gesehen, wie Sie verschachtelte Lesezeichen mit der Aspose.PDF for C++ API hinzufügen. Die API bietet viele zusätzliche Funktionen für die Arbeit mit PDF Dateien, die Sie im Detail in der offiziellen Dokumentation erkunden können. Wenn Sie Fragen haben, können Sie sich gerne im kostenlosen Support-Forum an uns wenden.