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`๑)۶
コメント