PDF 书签是一种导航辅助工具,它允许用户快速定位并跳转到 PDF 文档中的特定章节或页面。通过简单地点击书签,用户可以直达目标位置,无需手动滚动或搜索冗长文档中的内容。本文将介绍如何使用 Spire.PDF for Python 以编程方式添加、修改和删除 PDF 中的书签。
安装 Spire.PDF for Python
本教程需要 Spire.PDF for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Python 向 PDF 文档添加书签
Spire.PDF for Python 提供了向 PDF 文档添加书签的方法: PdfDocument.Bookmarks.Add()。您可以使用此方法为 PDF 文档创建主要书签,并使用 PdfBookmarkCollection.Add() 方法为主要书签添加子书签。此外,PdfBookmark 类还提供了其他方法来设置书签的属性,如目标位置、文本颜色和文本样式。以下是向 PDF 文档添加书签的详细步骤。
- 创建一个 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
- 使用 PdfDocument.Bookmarks.Add() 方法为文档添加父级书签。
- 创建一个 PdfDestination 对象,并使用 PdfBookmark.Action 属性设置父级书签的目标位置。
- 设置父级书签的文本颜色和样式。
- 创建一个 PdfBookmarkCollection 对象,使用 PdfBookmarkCollection.Add() 方法将子书签添加到父级书签中。
- 设置子书签的目标位置、文本颜色和样式。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- Python
from spire.pdf.common import *
from spire.pdf import *
from spire.pdf.common import *
from spire.pdf import *
# 创建 PdfDocument 对象
doc = PdfDocument()
# 加载 PDF 文件
doc.LoadFromFile("示例.pdf")
# 遍历 PDF 文件中的页面
for i in range(doc.Pages.Count):
page = doc.Pages[i]
# 设置书签的标题和目标位置
bookmarkTitle = "书签-{0}".format(i+1)
bookmarkDest = PdfDestination(page, PointF(0.0, 0.0))
# 创建并配置书签
bookmark = doc.Bookmarks.Add(bookmarkTitle)
bookmark.Color = PdfRGBColor(Color.get_SaddleBrown())
bookmark.DisplayStyle = PdfTextStyle.Bold
bookmark.Action = PdfGoToAction(bookmarkDest)
# 创建集合以容纳子书签
bookmarkColletion = PdfBookmarkCollection(bookmark)
# 设置子书签的标题和目标位置
childBookmarkTitle = "子书签-{0}".format(i+1)
childBookmarkDest = PdfDestination(page, PointF(0.0, 100.0))
# 创建并配置子书签
childBookmark = bookmarkColletion.Add(childBookmarkTitle)
childBookmark.Color = PdfRGBColor(Color.get_Coral())
childBookmark.DisplayStyle = PdfTextStyle.Italic
childBookmark.Action = PdfGoToAction(childBookmarkDest)
# 保存 PDF 文件
outputFile = "书签.pdf"
doc.SaveToFile(outputFile)
# 关闭文档
doc.Close()
Python 编辑 PDF 文档中的书签
如果您需要更新现有的书签,可以使用 PdfBookmark 类的方法来重命名书签并更改其文本颜色、文本样式。以下是详细的步骤:
- 创建一个 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载一个 PDF 文档。
- 通过 PdfDocument.Bookmarks[] 属性获取指定的书签。
- 使用 PdfBookmark.Title 属性更改书签的标题。
- 使用 PdfBookmark.Color 属性更改书签的字体颜色。
- 使用 PdfBookmark.DisplayStyle 属性更改书签的文本样式。
- 使用上述方法更改子书签的文本颜色和样式。
- 使用 PdfDocument.SaveToFile() 方法保存结果文档。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# 获取第一个书签
bookmark = doc.Bookmarks[0]
# 修改书签的标题
bookmark.Title = "被修改的书签"
# 设置书签的颜色
bookmark.Color = PdfRGBColor(Color.get_Black())
# 设置书签的文本样式
bookmark.DisplayStyle = PdfTextStyle.Bold
# 编辑父书签下的子书签
pBookmark = PdfBookmarkCollection(bookmark)
for i in range(bookmark.Count):
childBookmark = pBookmark.get_Item(i)
childBookmark.Color = PdfRGBColor(Color.get_Blue())
childBookmark.DisplayStyle = PdfTextStyle.Regular
# 保存 PDF 文档
outputFile = "修改书签.pdf"
# 关闭文档
doc.SaveToFile(outputFile)
Python 从 PDF 文档中删除书签
Spire.PDF for Python 还提供了删除 PDF 文档中任何书签的方法。PdfDocument.Bookmarks.RemoveAt() 方法用于删除特定的主要书签,PdfDocument.Bookmarks.Clear() 方法用于删除所有书签,而 PdfBookmarkCollection.RemoveAt() 方法用于删除主要书签的特定子书签。从 PDF 文档中删除书签的详细步骤如下:
- 创建一个 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载一个 PDF 文档。
- 使用 PdfDocument.Bookmarks[] 属性获取指定的书签。
- 使用 PdfBookmarkCollection.RemoveAt() 方法删除指定书签的子书签。
- 使用 PdfDocument.Bookmarks.RemoveAt() 方法删除指定的书签及其所有子书签。
- 使用 PdfDocument.Bookmarks.Clear() 方法删除 PDF 文件中的所有书签。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# # 删除第一个书签
# doc.Bookmarks.RemoveAt(0)
# # 获取第一个书签
# bookmark = doc.Bookmarks[0]
# # 从第一个书签中删除第一个子书签
# pBookmark = PdfBookmarkCollection(bookmark)
# pBookmark.RemoveAt(0)
# 删除所有书签
doc.Bookmarks.Clear()
# 保存 PDF 文档
output = "删除所有书签.pdf"
doc.SaveToFile(output)
# 关闭文档
doc.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。