使用 Python 添加和删除书签
Contents
[
Hide
]
将书签添加到 PDF 文档
书签保存在 Document 对象的 OutlineItemCollection 集合中,它本身在 OutlineCollection 集合中。
要向 PDF 添加书签:
- 使用 Document 对象打开 PDF 文档。
- 创建书签并定义其属性。
- 将 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 文件添加子书签,首先添加父书签:
- 打开文档。
- 向 OutlineItemCollection 添加书签,定义其属性。
- 将 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 文件中删除所有书签:
- 调用 OutlineCollection 集合的 Delete 方法。
- 使用 Document 对象的 save() 方法保存修改后的文件。
以下代码片段展示了如何从 PDF 文档中删除所有书签。
import aspose.pdf as ap
# 打开文档
document = ap.Document(input_pdf)
# 删除所有书签
document.outlines.delete()
# 保存更新后的文件
document.save(output_pdf)
从 PDF 文档中删除特定书签
要从 PDF 文件中删除特定书签:
- 将书签的标题作为参数传递给 OutlineCollection 集合的 Delete 方法。
- 然后使用 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)