pdf 书签是一种导航辅助工具,它允许用户快速定位并跳转到 pdf 文档中的特定章节或页面。通过简单地点击书签,用户可以直达目标位置,无需手动滚动或搜索冗长文档中的内容。本文将介绍如何使用 以编程方式添加、修改和删除 pdf 中的书签。
安装 spire.pdf for python
本教程需要 spire.pdf for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.pdf
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 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 天的临时许可证。