PDFファイルのブックマークは、ドキュメント内の関心のあるポイントをマークするのに役立ちます。これらを使用すると、ドキュメント内の特定のポイントにすばやくジャンプできます。プログラムでPDFファイルのブックマークを追加、読み取り、変更、または削除する必要がある場合があります。そのために、この記事では、C++を使用してPDFファイルのブックマークを操作する方法を説明します。
- PDFファイルのブックマークを操作するためのC++API
- C++を使用してPDFファイルにブックマークを追加する
- PDFファイルにネストされたブックマークを追加する
- C++を使用してPDFファイルからブックマークを読み取る
- C++を使用してブックマークタイトルを変更する
- C++を使用して特定のブックマークを削除する
- C++を使用してPDFファイル内のすべてのブックマークを削除します
- 無料ライセンスを取得する
PDFファイルのブックマークを操作するためのC++API
Aspose.PDF for C++は、PDFドキュメントを作成、読み取り、更新できるC++ライブラリです。さらに、APIは、PDFファイルからのブックマークの追加、読み取り、変更、および削除をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.PDF.Cpp
C++を使用してPDFファイルにブックマークを追加する
PDFファイルにブックマークを追加する手順は次のとおりです。
- まず、PdfBookmarkEditorクラスのインスタンスを作成します。
- [PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)7メソッドを使用してPDFドキュメントをロードします。
- PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32_t pageNumber)メソッドを使用してブックマークを作成します。
- PdfBookmarkEditor->Save(System::String destFile)メソッドを使用してPDFドキュメントを保存します。
次のサンプルコードは、C++を使用してPDFファイルにブックマークを追加する方法を示しています。
// 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ファイルにネストされたブックマークを追加する
Aspose.PDF for C++ APIを使用して、ネストされたブックマークを追加することもできます。ネストされたブックマークを追加する手順は次のとおりです。
- PdfBookmarkEditorクラスのインスタンスを作成します。
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFドキュメントをロードします。
- Bookmarkクラスを使用してブックマークを作成します。
- Bookmarksクラスのインスタンスに子ブックマークを追加し、bookmark->setChildItems(System::SharedPtr value)メソッド。
- PdfBookmarkEditor->CreateBookmarks(System::SharedPtr bookmark)メソッド。
- 最後に、PdfBookmarkEditor->Save(System::String destFile)メソッドを使用してPDFドキュメントを保存します。
次のサンプルコードは、C++を使用してPDFファイルにネストされたブックマークを追加する方法を示しています。
// PdfBookmarkEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDFドキュメントをロードする
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 最初の子ブックマークを作成する
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// 2番目の子ブックマークを作成する
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");
C++を使用してPDFファイルからブックマークを読み取る
ブックマークを読み取るには、PdfBookmarkEditor->ExtractBookmarks()メソッドを使用します。以下は、PDFファイルからブックマークを読み取る手順です。
- PdfBookmarkEditorクラスのインスタンスを作成します。
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFドキュメントをロードします。
- PdfBookmarkEditor->ExtractBookmarks()メソッドを使用してすべてのブックマークを取得します。
- ブックマークをループして、個々のブックマークを取得します。
- ブックマークのプロパティを読みます。
次のサンプルコードは、C++を使用してPDFファイルからブックマークを読み取る方法を示しています。
// 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クラスのインスタンスを作成します。
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFドキュメントをロードします。
- PdfBookmarkEditor->ModifiedBookmarks(System::String sTitle, System::String dTitle)メソッドを使用して、ブックマークのタイトルを変更します。
- PdfBookmarkEditor->Save(System::String destFile)メソッドを使用してPDFドキュメントを保存します。
次のサンプルコードは、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は、PDFファイルから特定のブックマークを削除するためのPdfBookmarkEditor->DeleteBookmarks(System::String title)メソッドを提供します。特定のブックマークを削除する手順は次のとおりです。
- PdfBookmarkEditorクラスのインスタンスを作成します。
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFドキュメントをロードします。
- PdfBookmarkEditor->DeleteBookmarks(System::String title)メソッドを使用して、目的のブックマークを削除します。
- 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\\BookmarkSample.pdf");
// 特定のブックマークを削除する
editor->DeleteBookmarks(u"bookmark for page 1");
// PDFドキュメントを保存します
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
C++を使用してPDFファイル内のすべてのブックマークを削除します
ブックマークを一度に1つずつ削除する代わりに、PdfBookmarkEditor->DeleteBookmarks()メソッドを使用してすべてのブックマークを一度に削除できます。以下は、PDFファイル内のすべてのブックマークを削除する手順です。
- PdfBookmarkEditorクラスのインスタンスを作成します。
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFドキュメントをロードします。
- PdfBookmarkEditor->DeleteBookmarks()メソッドを使用してすべてのブックマークを削除します。
- PdfBookmarkEditor->Save(System::String destFile)メソッドを使用してPDFドキュメントを保存します。
以下は、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を試すことができます。
結論
この記事では、C++を使用してPDFファイルのブックマークを操作する方法を学習しました。具体的には、PDFファイルのブックマークを追加、読み取り、変更、および削除する方法を学習しました。さらに、Aspose.PDF for C++APIを使用してネストされたブックマークを追加する方法を見てきました。 APIは、PDFファイルを操作するための多くの追加機能を提供します。これらの機能は公式ドキュメントを使用して詳細に調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。