添加和删除书签
Contents
[
Hide
]
向 PDF 文档添加书签
书签存储在 Document 对象的 OutlineItemCollection 集合中,该集合本身位于 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 添加子书签,即二级书签。
要向 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");
}