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 展开或折叠所有书签
Spire.PDF for Python 提供了一个名为 BookMarkExpandOrCollapse 的属性,用于展开或折叠书签。当该属性设置为 True 时,会自动展开所有书签;反之,若将其设置为 False,则会收起所有书签。以下为在 PDF 文档中展开书签的具体步骤说明。
- 创建一个 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
- 使用 BookMarkExpandOrCollapse属性展开 PDF 中所有的书签。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# 将 BookMarkExpandOrCollapse 设置为 True 以展开所有书签,设置为 False 以折叠所有书签
doc.ViewerPreferences.BookMarkExpandOrCollapse = True
# 保存文档
outputFile="展开书签1.pdf"
doc.SaveToFile(outputFile)
# 关闭文档
doc.Close()
Python 展开或折叠某个特定书签
如果需要仅展开或折叠某个特定书签,你可以获取到指定的书签,并设置其 ExpandBookmark 属性。以下是详细的步骤:
- 创建一个 PdfDocument 类的实例。
- 使用 PdfDocument.LoadFromFile() 方法加载一个 PDF 文档。
- 通过 PdfDocument.Bookmarks.get_Item() 方法获取指定的书签。
- 使用 ExpandBookmark 属性展开书签。
- 使用 PdfDocument.SaveToFile() 方法保存结果文档。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# 将 BookMarkExpandOrCollapse 设置为 True,展开第三个书签
doc.Bookmarks.get_Item(1).ExpandBookmark = True
# 保存文档
outputFile="展开书签2.pdf"
doc.SaveToFile(outputFile)
# 关闭文档
doc.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。