ブックマークの追加と削除
PDFドキュメントにブックマークを追加する
ブックマークは、OutlineItemCollectionコレクション内のDocumentオブジェクトの中に保持されており、それ自体がOutlineCollectionコレクションの中にあります。
PDFにブックマークを追加するには:
- Documentオブジェクトを使用してPDFドキュメントを開きます。
- ブックマークを作成し、そのプロパティを定義します。
- OutlineItemCollectionコレクションをOutlinesコレクションに追加します。
次のコードスニペットは、PDFドキュメントにブックマークを追加する方法を示しています。
package com.aspose.pdf.examples;
import java.io.IOException;
import com.aspose.pdf.*;
import com.aspose.pdf.facades.Bookmark;
import com.aspose.pdf.facades.Bookmarks;
import com.aspose.pdf.facades.PdfBookmarkEditor;
public class ExampleBookmarks {
    private static String _dataDir = "/home/aspose/pdf-examples/Samples/Bookmarks/";
    private static String GetDataDir() {
        String os = System.getProperty("os.name");
        if (os.startsWith("Windows"))
            _dataDir = "C:\\Samples\\Bookmarks\\";
        return _dataDir;
    }
    public static void AddBookmarks() throws IOException {
        Document pdfDocument = new Document(GetDataDir() + "AddBookmark.pdf");
        // ブックマークオブジェクトを作成する
        OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines());
        pdfOutline.setTitle("テストアウトライン");
        pdfOutline.setItalic(true);
        pdfOutline.setBold(true);
        // 目的のページ番号を設定する
        pdfOutline.setAction(new GoToAction(pdfDocument.getPages().get_Item(2)));
        // ドキュメントのアウトラインコレクションにブックマークを追加する
        pdfDocument.getOutlines().add(pdfOutline);
        // 更新されたドキュメントを保存する
        pdfDocument.save(_dataDir + "AddBookmark_out.pdf");
    }
PDFドキュメントに子ブックマークを追加する
ブックマークはネストでき、親と子のブックマークとの階層的な関係を示します。この記事では、PDFに子ブックマーク、つまり第2レベルのブックマークを追加する方法を説明します。
PDFファイルに子ブックマークを追加するには、まず親ブックマークを追加します:
- ドキュメントを開きます。
- OutlineItemCollection にブックマークを追加し、そのプロパティを定義します。
- OutlineItemCollection を Document オブジェクトの OutlineCollection コレクションに追加します。
子ブックマークは、上記で説明したように親ブックマークと同様に作成されますが、親ブックマークの Outlines コレクションに追加されます。
以下のコードスニペットは、PDFドキュメントに子ブックマークを追加する方法を示しています。
    public static void AddChildBookmark() {
        // ドキュメントを開く
        Document pdfDocument = new Document(GetDataDir() + "AddChildBookmark.pdf");
        // 親ブックマークオブジェクトを作成する
        OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines());
        pdfOutline.setTitle("Parent Outline");
        pdfOutline.setItalic(true);
        pdfOutline.setBold(true);
        // 子ブックマークオブジェクトを作成する
        OutlineItemCollection pdfChildOutline = new OutlineItemCollection(pdfDocument.getOutlines());
        pdfChildOutline.setTitle("Child Outline");
        pdfChildOutline.setItalic(true);
        pdfChildOutline.setBold(true);
        // 親ブックマークのコレクションに子ブックマークを追加する
        pdfOutline.add(pdfChildOutline);
        // ドキュメントのアウトラインコレクションに親ブックマークを追加する
        pdfDocument.getOutlines().add(pdfOutline);
        // 出力を保存する
        pdfDocument.save(_dataDir + "AddChildBookmark_out.pdf");
    }
PDFドキュメントからすべてのブックマークを削除する
PDF内のすべてのブックマークは、OutlineCollection コレクションに保持されています。この記事では、PDFファイルからすべてのブックマークを削除する方法を説明します。
PDFファイルからすべてのブックマークを削除するには:
- OutlineCollection コレクションの Delete メソッドを呼び出します。
- Document オブジェクトの Save メソッドを使用して、変更されたファイルを保存します。
以下のコードスニペットは、PDFドキュメントからすべてのブックマークを削除する方法を示しています。
    public static void DeleteAllBookmarksFromPDFDocument() {
        // ドキュメントを開く
        Document pdfDocument = new Document(GetDataDir() + "DeleteAllBookmarks.pdf");
        // すべてのブックマークを削除
        pdfDocument.getOutlines().delete();
        // 更新されたファイルを保存
        pdfDocument.save(_dataDir + "DeleteAllBookmarks_out.pdf");
    }
PDFドキュメントから特定のブックマークを削除する
PDFドキュメントからすべての添付ファイルを削除するでは、PDFファイルからすべての添付ファイルを削除する方法を示しました。特定の添付ファイルのみを削除することも可能です。
特定のブックマークをPDFファイルから削除するには:
- ブックマークのタイトルをOutlineCollectionコレクションのDeleteメソッドにパラメータとして渡します。
- 次に、DocumentオブジェクトのSaveメソッドを使用して更新されたファイルを保存します。
Documentクラスは、OutlineCollectionコレクションを提供します。Deleteメソッドは、メソッドに渡されたタイトルのブックマークを削除します。
次のコードスニペットは、PDFドキュメントから特定のブックマークを削除する方法を示しています。
    public static void DeleteParticularBookmarkPDFDocument() {
        // ドキュメントを開く
        Document pdfDocument = new Document(GetDataDir() + "DeleteParticularBookmark.pdf");
        // タイトルで特定のアウトラインを削除
        pdfDocument.getOutlines().delete("Child Outline");
        // 更新されたファイルを保存
        pdfDocument.save(_dataDir + "DeleteParticularBookmark_out.pdf");
    }