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

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.

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");
Vom Beispielcode generierte Ausgabe

Vom Beispielcode generierte Ausgabe

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.

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");
Vom Beispielcode generierte Ausgabe

Vom Beispielcode generierte Ausgabe

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.

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.

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.

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.

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.

Siehe auch