見出し画像

ゆるプロ!番外編「PDFの指定ページを削除する」

ゆるいプログラミング講座、略して「ゆるプロ!」
これは気軽に気楽に試せるゆるーいプログラミング学習コンテンツである。今回のお題は「PDFの指定ページを削除する」


一言)

Adobe ReaderのAcrobat等を使わないとPDFのページ削除ができないと思っていたが、そんなことはなかった。ツールがないときとかに便利である。

例)PDFの指定ページを削除する

今回は0ページと93ページを削除する。直接、削除するメソッドが見当たらなかったので、StackOverflowより考え方を学んだ。

#ページの削除
import pypdf

pages_to_delete = [0, 93] # page numbering starts from 0
infile = pypdf.PdfReader("sample.pdf", "rb")
output = pypdf.PdfWriter()

for i in range(len(infile.pages)):
    if i not in pages_to_delete:
        p = infile.pages[i]
        output.add_page(p)

with open("output.pdf", "wb") as f:
    output.write(f)

結果)

こちらの記事をもとにメタデータを再度、確認したらProducer: pypdfとなっていたので、追加で変更しておいた。

参考)

How to delete pages from pdf file using Python?

おわり!