当您尝试嵌套多个具有相同名称的书签时,PyPdf2 不会考虑它。下面是自包含的python代码来测试我的意思(你需要在工作文件夹中有3个名为a、b和c的pdf文件来测试它)
from PyPDF2 import PdfFileReader, PdfFileMerger
def main():
merger = PdfFileMerger()
pagenum = 0
firstOne = True
for file in ["a.pdf","b.pdf","c.pdf"]:
print("next row")
pdf = PdfFileReader(open(file,"rb"))
merger.append(pdf)
if firstOne:
child = merger.addBookmark(title="blabla",pagenum=1)
firstOne = False
else:
child = merger.addBookmark(title="blabla",pagenum=1, parent=child)
merger.write("test.pdf")
if __name__ == "__main__":
main()
我希望生成的 pdf 具有三层嵌套书签
blabla
blabla
blabla
但相反我得到
blabla
blabla
blabla
有什么方法可以确保不会发生这种情况?
编辑:我已经删除了pagenum
变量,因为我希望这 3 个书签指向同一页面。