簡體   English   中英

使用 PyPDF2 添加書簽的頁碼

[英]Page number of added bookmarks with PyPDF2

我使用 PyPDF2 中的PyPDF2添加了 pdf 文件,並使用PdfFileMerger在每個PdfFileMerger.addbookmark文件的開頭添加了一個書簽。 當我使用PdfFileReader打開新文件並提取放置書簽的頁面時,我得到了頁碼-1

我使用以下代碼進行合並:

merger = PdfFileMerger
for path in paths:
    merger.append(path, import_bookmarks=False)
    merger.addBookmark(f"{title}", page)
merger.write(save_path)
merger.close()

為了閱讀我使用的文件:

pdf = PdfFileReader(file, "rb")
for i in pdf.getOutlines():
    pdf.getDestinationPageNumber(i)

為什么新書簽的頁碼為-1

您將獲得 -1 值,因為方法getDestinationPageNumber沒有找到與目標 object 關聯的頁面,請參閱文檔 此外,正如這個 SO answer所建議的,PyPDF2 中的大綱迭代可能會被破壞。 您可以使用以下代碼實現您想要的:

pdf = PdfFileReader(file, "rb")
for i in pdf.getOutlines():
    print(i.page)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM