PythonでPDFを操作する

PythonでPDFを操作するコードの例です。

PDFの最後のページを削除する

例えば、奇数ページ数の文書をスキャナーで読み取ってPDFにしたときに、最後の1ページが空白になります。その最後のページを削除します。具体的には、5ページを両面印刷した書類(3枚もの)をドキュメントスキャナで両面スキャンしたときの最後のページを削除するみたいなことです。

PyPDF2モジュールを使用しますので、pipでインストールしてください。

コマンドラインで、PDFファイルを引数にして実行すると、最終ページを削除したPDFファイルを出力します。

import argparse
import PyPDF2
import os.path

# コマンドライン引数の処理
parser = argparse.ArgumentParser(description='Remove last sheet of PDF file.')
parser.add_argument('fname', help='PDF file name.')
args = parser.parse_args()

# PDFファイル読み込み
reader = PyPDF2.PdfFileReader(args.fname, strict=False)
last_page = reader.getNumPages()

# 最終ページの削除
writer = PyPDF2.PdfFileWriter()
for i in range(0, last_page-1):
    writer.addPage(reader.getPage(i))

# ファイル書き出し
out_fname = args.fname.split('.')[0] + '_modified.pdf'
if os.path.exists(out_fname):
    print('Error: File is already exist.')
else:
    with open(out_fname, mode='wb') as f:
        writer.write(f)

広告

PythonとPDFカテゴリの投稿