【Python】指定したページをPDFから削除する

機能

指定したページをPDFから削除するPythonプログラムです。

サンプル動画

youtu.be

プログラム

#! python3
# 機能
#  指定したページをPDFから削除する
# 使い方
#  1.Pythonを実行する
# 実行コマンド
#  python pdf_page_deleter.py PDFファイル名 ページ番号...
#  python pdf_page_deleter.py input.pdf 1
#  python pdf_page_deleter.py input.pdf 1 20

import os
import sys
import PyPDF2

def delete_page(file_name, page_nums):
    with open(file_name, 'rb') as input_file:
        pdf_reader = PyPDF2.PdfFileReader(input_file, strict=False)
        pdf_writer = PyPDF2.PdfFileWriter()

        for i in range(pdf_reader.numPages):
            if str(i + 1) in page_nums:
                continue
            pdf_page = pdf_reader.getPage(i)
            pdf_writer.addPage(pdf_page)

        splitext = os.path.splitext(file_name)
        with open(splitext[0] + '_deleted' + splitext[1], 'wb') as output_file:
            pdf_writer.write(output_file)

if len(sys.argv) < 3:
    sys.exit('使い方:pdf_page_deleter.py PDFファイル名 ページ番号...')

delete_page(sys.argv[1], sys.argv[2:])

使い方

  1. Pythonを実行する

実行コマンド

python pdf_page_deleter.py PDFファイル名 ページ番号...
python pdf_page_deleter.py input.pdf 1
python pdf_page_deleter.py input.pdf 1 20

参考文献

PDFファイルダウンロードページ/京都府ホームページ