Zakładki w pliku PDF są pomocne przy oznaczaniu interesujących miejsc w dokumencie. Umożliwiają one szybkie przeskakiwanie do określonego miejsca w dokumencie. Możesz znaleźć się w sytuacjach, w których musisz programowo dodawać, czytać, modyfikować lub usuwać zakładki w pliku PDF. W tym celu w tym artykule dowiesz się, jak pracować z zakładkami w plikach PDF przy użyciu C++.
- C++ API do pracy z zakładkami w plikach PDF
- Dodaj zakładki w plikach PDF za pomocą C++
- Dodaj zagnieżdżone zakładki w plikach PDF
- Czytaj zakładki z pliku PDF za pomocą C++
- Zmodyfikuj tytuł zakładki za pomocą C++
- Usuń określoną zakładkę za pomocą C++
- Usuń wszystkie zakładki w pliku PDF za pomocą C++
- Uzyskaj bezpłatną licencję
C++ API do pracy z zakładkami w plikach PDF
Aspose.PDF for C++ to biblioteka C++, która umożliwia tworzenie, odczytywanie i aktualizowanie dokumentów PDF. Ponadto interfejs API obsługuje dodawanie, odczytywanie, modyfikowanie i usuwanie zakładek z plików PDF. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji downloads.
PM> Install-Package Aspose.PDF.Cpp
Dodaj zakładki w plikach PDF za pomocą C++
Poniżej przedstawiono kroki dodawania zakładki w pliku PDF.
- Najpierw utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Utwórz zakładkę przy użyciu metody PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber).
- Zapisz dokument PDF za pomocą metody PdfBookmarkEditor->Save(System::String destFile).
Poniższy przykładowy kod ilustruje sposób dodawania zakładki do pliku PDF przy użyciu języka C++.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Utwórz zakładkę
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Zapisz dokument PDF
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
![Dane wyjściowe wygenerowane przez przykładowy kod](images/AddBookmarkPDFCpp.png#center)
Dane wyjściowe wygenerowane przez przykładowy kod
Dodaj zagnieżdżone zakładki w plikach PDF
Możesz także dodawać zagnieżdżone zakładki przy użyciu interfejsu API Aspose.PDF for C++. Poniżej przedstawiono kroki dodawania zagnieżdżonych zakładek.
- Utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Twórz zakładki za pomocą klasy Bookmark.
- Dodaj zakładki podrzędne do instancji klasy Bookmarks i ustaw ją jako zakładkę podrzędną zakładki nadrzędnej za pomocą bookmark->setChildItems(System::SharedPtr wartość) metoda.
- Dodaj zakładki do dokumentu PDF za pomocą PdfBookmarkEditor->CreateBookmarks(System::SharedPtr zakładka) metoda.
- Na koniec zapisz dokument PDF za pomocą metody PdfBookmarkEditor->Save(System::String destFile).
Poniższy przykładowy kod przedstawia sposób dodawania zagnieżdżonych zakładek w pliku PDF przy użyciu języka C++.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Utwórz pierwszą zakładkę podrzędną
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Utwórz drugą zakładkę podrzędną
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Utwórz zakładkę rodzica
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");
// Ustaw zakładki podrzędne
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Dodaj zakładki do pliku PDF
editor->CreateBookmarks(bm);
// Zapisz dokument PDF
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
![Dane wyjściowe wygenerowane przez przykładowy kod](images/AddNestedBookmarksPDFCpp.png#center)
Dane wyjściowe wygenerowane przez przykładowy kod
Czytaj zakładki z pliku PDF za pomocą C++
Aby odczytać zakładki, użyj metody PdfBookmarkEditor->ExtractBookmarks(). Poniżej przedstawiono kroki, aby odczytać zakładki z pliku PDF.
- Utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Pobierz wszystkie zakładki za pomocą metody PdfBookmarkEditor->ExtractBookmarks().
- Przejrzyj zakładki, aby pobrać poszczególne zakładki.
- Przeczytaj właściwości zakładek.
Poniższy przykładowy kod pokazuje, jak odczytywać zakładki z pliku PDF przy użyciu języka C++.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Pobierz wszystkie zakładki
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Przejdź przez zakładki
for (System::SharedPtr<Bookmark> bm : bms) {
// Wyświetl tytuł zakładki
Console::WriteLine(bm->get_Title());
// Wyświetl miejsce docelowe zakładki
Console::WriteLine(bm->get_Destination());
}
Zmodyfikuj tytuł zakładki za pomocą C++
Poniżej przedstawiono kroki, aby zmodyfikować tytuł istniejącej zakładki w pliku PDF.
- Utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Zmodyfikuj tytuł zakładki za pomocą metody PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle).
- Zapisz dokument PDF za pomocą metody PdfBookmarkEditor->Save(System::String destFile).
Poniższy przykładowy kod pokazuje, jak zmodyfikować tytuł istniejącej zakładki w pliku PDF.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Zmień tytuł zakładki
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Zapisz dokument PDF
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Usuń określoną zakładkę za pomocą C++
Interfejs API udostępnia metodę PdfBookmarkEditor->DeleteBookmarks(System::String title) służącą do usuwania określonej zakładki z pliku PDF. Poniżej przedstawiono kroki, aby usunąć określoną zakładkę.
- Utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Usuń żądaną zakładkę za pomocą metody PdfBookmarkEditor->DeleteBookmarks(System::String title).
- Zapisz dokument PDF za pomocą metody PdfBookmarkEditor->Save(System::String destFile).
Poniższy przykładowy kod pokazuje, jak usunąć określoną zakładkę przy użyciu języka C++.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Usuń określoną zakładkę
editor->DeleteBookmarks(u"bookmark for page 1");
// Zapisz dokument PDF
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Usuń wszystkie zakładki w pliku PDF za pomocą C++
Zamiast usuwać zakładki pojedynczo, możesz usunąć wszystkie zakładki jednocześnie, używając metody PdfBookmarkEditor->DeleteBookmarks(). Poniżej przedstawiono kroki, aby usunąć wszystkie zakładki w pliku PDF.
- Utwórz instancję klasy PdfBookmarkEditor.
- Załaduj dokument PDF za pomocą PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Usuń wszystkie zakładki za pomocą metody PdfBookmarkEditor->DeleteBookmarks().
- Zapisz dokument PDF za pomocą metody PdfBookmarkEditor->Save(System::String destFile).
Poniżej znajduje się przykładowy kod do usuwania wszystkich zakładek w pliku PDF.
// Utwórz instancję klasy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Załaduj dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Usuń wszystkie zakładki
editor->DeleteBookmarks();
// Zapisz dokument PDF
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak pracować z zakładkami w plikach PDF przy użyciu języka C++. W szczególności nauczyłeś się dodawać, czytać, modyfikować i usuwać zakładki w pliku PDF. Ponadto widziałeś, jak dodawać zagnieżdżone zakładki za pomocą Aspose.PDF for C++ API. Interfejs API zapewnia wiele dodatkowych funkcji do pracy z plikami PDF, które można szczegółowo zbadać, korzystając z oficjalnej dokumentacji. Jeśli masz jakiekolwiek pytania, skontaktuj się z nami na bezpłatnym forum pomocy technicznej.