使用PyPDF2添加书签

时间:2013-09-17 17:12:32

标签: python pdf

PyPDF2的文档指出可以将嵌套书签添加到PDF文件中,并且代码会出现(在阅读时)以支持此功能。

向根树添加书签很容易(参见下面的代码),但我无法弄清楚我需要传递什么作为创建嵌套书签的parent参数。我想创建一个像这样的结构:

Group A
    Page 1
    Page 2
Group A
    Page 3
    Page 4 

这可能吗?

将书签添加到树根的示例代码:

#!/usr/bin/env python
from PyPDF2 import PdfFileWriter, PdfFileReader
output = PdfFileWriter() # open output
input = PdfFileReader(open('input.pdf', 'rb')) # open input
output.addPage(input.getPage(0)) # insert page
output.addBookmark('Hello, World', 0, parent=None) # add bookmark

PyPDF2 addBookmark功能:https://github.com/mstamy2/PyPDF2/blob/master/PyPDF2/pdf.py#L517

1 个答案:

答案 0 :(得分:11)

addBookmark方法返回对其创建的书签的引用,该书签可用作另一个书签的父级。 e.g。

#!/usr/bin/env python
from PyPDF2 import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
input1 = PdfFileReader(open('introduction.pdf', 'rb'))
output.addPage(input1.getPage(0))
input2 = PdfFileReader(open('hello.pdf', 'rb'))
output.addPage(input2.getPage(0))

parent = output.addBookmark('Introduction', 0) # add parent bookmark
output.addBookmark('Hello, World', 0, parent) # add child bookmark