创建书签

创建所有页面的书签

为了创建所有页面的书签,您需要使用 CreateBookmarks 方法而不带任何参数。PdfBookmarkEditor 类允许您为 PDF 文件的所有页面创建书签。首先,您需要创建一个 PdfBookmarkEditor 类的对象,并使用 BindPdf 方法绑定输入 PDF。然后,您必须调用 CreateBookmarks 方法,并使用 Save 方法保存输出 PDF 文件。以下代码片段向您展示如何创建书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateBookmarksOfAllPages()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();

    // Create PdfBookmarkEditor
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "CreateBookmarksAll.pdf");
        // Create bookmark of all pages
        bookmarkEditor.CreateBookmarks();
        // Save PDF document
        bookmarkEditor.Save(dataDir + "CreateBookmarksOfAllPages_out.pdf");
    }
} 

创建具有属性的所有页面的书签

PdfBookmarkEditor 类允许您为 PDF 文件的所有页面创建书签并指定属性(颜色、粗体、斜体)。您可以借助 CreateBookmarks 方法来实现。首先,您需要创建一个 PdfBookmarkEditor 类的对象,并使用 BindPdf 方法绑定输入 PDF。然后,您必须调用 CreateBookmarks 方法,并使用 Save 方法保存输出 PDF 文件。以下代码片段向您展示如何创建具有属性的所有页面的书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateBookmarksOfAllPagesWithProperties()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();

    // Create PdfBookmarkEditor
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "CreateBookmarks-PagesProperties.pdf");
        // Create bookmark of all pages
        bookmarkEditor.CreateBookmarks(System.Drawing.Color.Green, true, true);
        // Save PDF document
        bookmarkEditor.Save(dataDir + "CreateBookmarks-PagesProperties_out.pdf");
    }
}

创建特定页面的书签

您可以使用 CreateBookmarkOfPage 方法在现有 PDF 文件中创建特定页面的书签。此方法接受两个参数:书签标题和页面编号。首先,您需要创建一个 PdfBookmarkEditor 类的对象,并使用 BindPdf 方法绑定输入 PDF 文件。然后,您必须调用 CreateBookmarkOfPage 方法,并使用 Save 方法保存输出 PDF 文件。以下代码片段向您展示如何创建特定页面的书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateBookmarkOfAParticularPage()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();

    // Create PdfBookmarkEditor
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "CreateBookmark-Page.pdf");
        // Create bookmark of a particular page
        bookmarkEditor.CreateBookmarkOfPage("Bookmark Name", 2);
        // Save PDF document
        bookmarkEditor.Save(dataDir + "CreateBookmark-Page_out.pdf");
    }
}

创建页面范围的书签

PdfBookmarkEditor 类允许您创建页面范围的书签。您可以使用 CreateBookmarkOfPage 方法,传入两个参数:书签列表(书签标题的列表)和页面列表(要书签的页面列表)。首先,您需要创建一个 PdfBookmarkEditor 类的对象,并使用 BindPdf 方法绑定输入 PDF 文件。然后,您必须调用 CreateBookmarkOfPage 方法,并使用 Save 方法保存输出 PDF。以下代码片段向您展示如何创建页面范围的书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateBookmarksOfARangeOfPages()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();

    // Create PdfBookmarkEditor
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "CreateBookmark-Page.pdf");
        // Bookmark name list
        string[] bookmarkList = { "First" };
        // Page list
        int[] pageList = { 1 };
        // Create bookmark of a range of pages
        bookmarkEditor.CreateBookmarkOfPage(bookmarkList, pageList);
        // Save PDF document
        bookmarkEditor.Save(dataDir + "CreateBookmarkPageRange_out.pdf");
    }
}

在现有 PDF 文件中添加书签

您可以使用 PdfBookmarkEditor 类在现有 PDF 文件中添加书签。为了创建书签,您需要创建 Bookmark 对象并设置书签的所需属性。之后,您需要将 Bookmark 对象传递给 PdfBookmarkEditor 类的 CreateBookmarks 方法。最后,您需要使用 Save 方法保存更新后的 PDF 文件。以下代码片段向您展示如何在现有 PDF 文件中添加书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddBookmarkInAnExistingPdfFile()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();
    // Create bookmark
    var bookmark = new Aspose.Pdf.Facades.Bookmark();
    bookmark.PageNumber = 1;
    bookmark.Title = "New Bookmark";
    // Create PdfBookmarkEditor
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "AddBookmark.pdf");
        // Create bookmarks
        bookmarkEditor.CreateBookmarks(bookmark);
        // Save PDF document
        bookmarkEditor.Save(dataDir + "AddBookmark_out.pdf");
    }
}

在现有 PDF 文件中添加子书签

您可以使用 PdfBookmarkEditor 类在现有 PDF 文件中添加子书签。为了添加子书签,您需要创建 Bookmark 对象。您可以将单个 Bookmark 对象添加到 Bookmarks 对象中。您还需要创建一个 Bookmark 对象,并将其 ChildItem 属性设置为 Bookmarks 对象。然后,您需要将此 Bookmark 对象与 ChildItem 一起传递给 CreateBookmarks 方法。最后,您需要使用 PdfBookmarkEditor 类的 Save 方法保存更新后的 PDF。以下代码片段向您展示如何在现有 PDF 文件中添加子书签。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddChildBookmarkInAnExistingPdfFile()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Bookmarks();
    // Create bookmarks
    var bookmarks = new Aspose.Pdf.Facades.Bookmarks();
    var childBookmark1 = new Aspose.Pdf.Facades.Bookmark();
    childBookmark1.PageNumber = 1;
    childBookmark1.Title = "First Child";
    var childBookmark2 = new Aspose.Pdf.Facades.Bookmark();
    childBookmark2.PageNumber = 2;
    childBookmark2.Title = "Second Child";
    bookmarks.Add(childBookmark1);
    bookmarks.Add(childBookmark2);
    var bookmark = new Aspose.Pdf.Facades.Bookmark();
    bookmark.Action = "GoTo";
    bookmark.PageNumber = 1;
    bookmark.Title = "Parent";
    bookmark.ChildItems = bookmarks;
    // Create PdfBookmarkEditor class
    using (var bookmarkEditor = new Aspose.Pdf.Facades.PdfBookmarkEditor())
    {
        // Bind PDF document
        bookmarkEditor.BindPdf(dataDir + "AddChildBookmark.pdf");
        // Create bookmarks
        bookmarkEditor.CreateBookmarks(bookmark);
        // Save PDF document
        bookmarkEditor.Save(dataDir + "AddChildBookmark_out.pdf");
    }
}