使用 Python 添加和删除书签

将书签添加到 PDF 文档

书签保存在 Document 对象的 OutlineItemCollection 集合中,它本身在 OutlineCollection 集合中。

要向 PDF 添加书签:

  1. 使用 Document 对象打开 PDF 文档。
  2. 创建书签并定义其属性。
  3. OutlineItemCollection 集合添加到大纲集合中。

以下代码片段向您展示了如何在 PDF 文档中添加书签。


    import aspose.pdf as ap

    # 打开文档
    document = ap.Document(input_pdf)

    # 创建书签对象
    outline = ap.OutlineItemCollection(document.outlines)
    outline.title = "测试书签"
    outline.italic = True
    outline.bold = True
    # 设置目标页码
    outline.action = ap.annotations.GoToAction(document.pages[1])
    # 在文档的大纲集合中添加书签。
    document.outlines.append(outline)

    # 保存输出
    document.save(output_pdf)

向 PDF 文档添加子书签

书签可以嵌套,表示与父书签和子书签的层次关系。本文解释了如何向 PDF 添加子书签,即二级书签。

要向 PDF 文件添加子书签,首先添加父书签:

  1. 打开文档。
  2. OutlineItemCollection 添加书签,定义其属性。
  3. 将 OutlineItemCollection 添加到 Document 对象的 OutlineCollection 集合中。

子书签的创建方式与上述父书签相同,但被添加到父书签的 Outlines 集合中。

以下代码片段展示了如何向 PDF 文档添加子书签。


    import aspose.pdf as ap

    # 打开文档
    document = ap.Document(input_pdf)

    # 创建一个父书签对象
    outline = ap.OutlineItemCollection(document.outlines)
    outline.title = "Parent Outline"
    outline.italic = True
    outline.bold = True

    # 创建一个子书签对象
    childOutline = ap.OutlineItemCollection(document.outlines)
    childOutline.title = "Child Outline"
    childOutline.italic = True
    childOutline.bold = True

    # 在父书签的集合中添加子书签
    outline.append(childOutline)
    # 在文档的大纲集合中添加父书签。
    document.outlines.append(outline)

    # 保存输出
    document.save(output_pdf)

从 PDF 文档中删除所有书签

PDF 中的所有书签都保存在 OutlineCollection 集合中。本文解释了如何从 PDF 文件中删除所有书签。

要从 PDF 文件中删除所有书签:

  1. 调用 OutlineCollection 集合的 Delete 方法。
  2. 使用 Document 对象的 save() 方法保存修改后的文件。

以下代码片段展示了如何从 PDF 文档中删除所有书签。


    import aspose.pdf as ap

    # 打开文档
    document = ap.Document(input_pdf)

    # 删除所有书签
    document.outlines.delete()

    # 保存更新后的文件
    document.save(output_pdf)

从 PDF 文档中删除特定书签

要从 PDF 文件中删除特定书签:

  1. 将书签的标题作为参数传递给 OutlineCollection 集合的 Delete 方法。
  2. 然后使用 Document 对象的 Save 方法保存更新后的文件。

Document 类提供了 OutlineCollection 集合。delete() 方法删除传递给该方法的标题的任何书签。

以下代码片段展示了如何从 PDF 文档中删除特定书签。


    import aspose.pdf as ap

    # 打开文档
    document = ap.Document(input_pdf)

    # 按标题删除特定大纲
    document.outlines.delete("Child Outline")

    # 保存更新后的文件
    document.save(output_pdf)