ブックマークの追加と削除
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");
}