【PyPDF】addBookmarkすると、Out of rangeエラーが発生してしまう!

Python

PyPDFでPDFにしおりを追加しようとしたところ、なかなかわかりにくいエラーが発生したため、対処法をメモしておきます。

https://pythonhosted.org/PyPDF2/PdfFileWriter.html#PyPDF2.PdfFileWriter.addBookmark
スポンサーリンク

症状

for i in range(0,10):
    output.addBookmark("bookmark",i)

上記のような感じで、ブックマークを既存のPDFファイルに追加しようとしていました。

しかし、list out of range exceptionが発生していまします。

インデックスが範囲外になっているというエラーですが、上のコードでは単純に0から10までの配列を作成し、参照しているだけです。本来発生しないはずですが、なぜかうまくいきません。

スポンサーリンク

原因はPDFファイルのページがないため

原因はブックマークを作成しようとしていたPDFファイルのページ数でした。

範囲外のページにジャンプするしおりを追加しようとするとout of rangeエラーとなるようです。

例えば3ページしかないPDFに対して、10ページ目にジャンプするしおりを作成しようとしたりすると、このようなエラーとなってしまいます。

配列の参照でエラーとなっているわけではありませんでした。

 

なんか、わかりにくいですね٩(๑´0`๑)۶

コメント

タイトルとURLをコピーしました