Закладки у файлі PDF корисні для позначення цікавих місць у документі. Вони дозволяють швидко переходити до певного місця в документі. Ви можете опинитися в ситуації, коли вам потрібно додати, прочитати, змінити або видалити закладки у файлі PDF програмним шляхом. Для цього ця стаття навчить вас працювати із закладками у файлах PDF за допомогою C++.
- C++ API для роботи із закладками у PDF-файлах
- Додайте закладки у файли PDF за допомогою C++
- Додайте вкладені закладки у файли PDF
- Читайте закладки з файлу PDF за допомогою C++
- Змініть заголовок закладки за допомогою C++
- Видалити певну закладку за допомогою C++
- Видалити всі закладки у файлі PDF за допомогою C++
- Отримайте безкоштовну ліцензію
C++ API для роботи із закладками у PDF-файлах
Aspose.PDF for C++ — це бібліотека C++, яка дозволяє створювати, читати та оновлювати документи PDF. Крім того, API підтримує додавання, читання, зміну та видалення закладок із файлів PDF. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу завантажень.
PM> Install-Package Aspose.PDF.Cpp
Додайте закладки у файли PDF за допомогою C++
Нижче наведено кроки, щоб додати закладку у файл PDF.
- По-перше, створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Створіть закладку за допомогою методу PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber).
- Збережіть PDF-документ за допомогою методу PdfBookmarkEditor->Save(System::String destFile).
Наведений нижче зразок коду демонструє, як додати закладку у файл PDF за допомогою C++.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Створіть закладку
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Збережіть документ PDF
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
Додайте вкладені закладки у файли PDF
Ви також можете додавати вкладені закладки за допомогою API Aspose.PDF for C++. Нижче наведено кроки для додавання вкладених закладок.
- Створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Створіть закладки за допомогою класу Bookmark.
- Додайте дочірні закладки до екземпляра класу Bookmarks і встановіть його як дочірню для батьківської закладки за допомогою bookmark->setChildItems(System::SharedPtr) значення) метод.
- Додайте закладки до документа PDF за допомогою PdfBookmarkEditor->CreateBookmarks(System::SharedPtr) закладка) метод.
- Нарешті збережіть PDF-документ за допомогою методу PdfBookmarkEditor->Save(System::String destFile).
У наведеному нижче прикладі коду показано, як додати вкладені закладки у файл PDF за допомогою C++.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Створіть 1-шу дочірню закладку
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Створити другу дочірню закладку
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Створити батьківську закладку
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");
// Встановіть дочірні закладки
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Додайте закладки до файлу PDF
editor->CreateBookmarks(bm);
// Збережіть документ PDF
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
Читайте закладки з файлу PDF за допомогою C++
Щоб прочитати закладки, скористайтеся методом PdfBookmarkEditor->ExtractBookmarks(). Нижче наведено кроки для читання закладок із файлу PDF.
- Створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Отримайте всі закладки за допомогою методу PdfBookmarkEditor->ExtractBookmarks().
- Переглядайте закладки, щоб отримати окремі закладки.
- Прочитайте властивості закладок.
У наведеному нижче прикладі коду показано, як читати закладки з PDF-файлу за допомогою C++.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Отримати всі закладки
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Переглядайте закладки
for (System::SharedPtr<Bookmark> bm : bms) {
// Відобразити назву закладки
Console::WriteLine(bm->get_Title());
// Відображення місця призначення закладки
Console::WriteLine(bm->get_Destination());
}
Змініть заголовок закладки за допомогою C++
Нижче наведено кроки, щоб змінити назву наявної закладки у файлі PDF.
- Створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Змініть назву закладки за допомогою методу PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle).
- Збережіть PDF-документ за допомогою методу PdfBookmarkEditor->Save(System::String destFile).
Наведений нижче приклад коду демонструє, як змінити назву наявної закладки у файлі PDF.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Змінити назву закладки
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Збережіть документ PDF
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Видалити певну закладку за допомогою C++
API надає метод PdfBookmarkEditor->DeleteBookmarks(System::String title) для видалення певної закладки з PDF-файлу. Нижче наведено кроки для видалення певної закладки.
- Створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Видаліть потрібну закладку за допомогою методу PdfBookmarkEditor->DeleteBookmarks(System::String title).
- Збережіть PDF-документ за допомогою методу PdfBookmarkEditor->Save(System::String destFile).
У наступному прикладі коду показано, як видалити певну закладку за допомогою C++.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Видалити певну закладку
editor->DeleteBookmarks(u"bookmark for page 1");
// Збережіть документ PDF
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Видалити всі закладки у файлі PDF за допомогою C++
Замість того, щоб видаляти закладки по одній, ви можете видалити всі закладки одночасно за допомогою методу PdfBookmarkEditor->DeleteBookmarks(). Нижче наведено кроки для видалення всіх закладок у файлі PDF.
- Створіть екземпляр класу PdfBookmarkEditor.
- Завантажте PDF-документ за допомогою PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) метод.
- Видаліть усі закладки за допомогою методу PdfBookmarkEditor->DeleteBookmarks().
- Збережіть PDF-документ за допомогою методу PdfBookmarkEditor->Save(System::String destFile).
Нижче наведено зразок коду для видалення всіх закладок у файлі PDF.
// Створіть екземпляр класу PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Завантажте документ PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Видалити всі закладки
editor->DeleteBookmarks();
// Збережіть документ PDF
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Отримайте безкоштовну ліцензію
Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як працювати із закладками у файлах PDF за допомогою C++. Зокрема, ви навчилися додавати, читати, змінювати та видаляти закладки у файлі PDF. Крім того, ви бачили, як додавати вкладені закладки за допомогою Aspose.PDF for C++ API. API надає багато додаткових функцій для роботи з файлами PDF, які ви можете детально вивчити, використовуючи офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на безкоштовному форумі підтримки.