【问题标题】:Adding nested bookmarks to a PDF using PyPDF2使用 PyPDF2 将嵌套书签添加到 PDF
【发布时间】:2013-09-17 17:12:32
【问题描述】:

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 添加书签功能:https://github.com/mstamy2/PyPDF2/blob/master/PyPDF2/pdf.py#L517

【问题讨论】:

    标签: python pdf


    【解决方案1】:

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

    #!/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
    

    【讨论】:

    • addBookmark(title, pagenum, parent=None, color=None, bold=False, italic=False, fit='/Fit', *args) 如何在这个.. . 任何人都可以通过我的例子..我想要书签在确切的位置所以需要通过 Fit = FitH 和前 100
    • addBookmark("转到第 3 页", 2, None, None, False, False, '/FitH', 100)
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多