【Python】PDFの4ページ目に空白挿入で両面印刷したい

ICT

PDFの3ページ毎に空白ページを挿入して、両面印刷したいという要望がありました。

何のことでしょうか?

小中学校では全国学力テスト(全国学力・学習状況調査)というものがあります。

6年生では国語と算数、中学生では国語と数学と英語です。

テストの結果は個人票というPDFになって返ってくるのですが、学年単位です。

6年生は1ページ目に国語、2ページ目に算数、3ページ目は次の児童の国語。

この場合、両面印刷が可能です。

しかし、中学生では3ページ目に英語、4ページ目に次の生徒の国語というPDFになっています。

中学生全員分3ページずつ両面印刷しないといけない???

というわけでPDFの4ページ目に空白ページを挿入して、両面印刷する方法をやってみました。

残念ながらPythonなどプログラム記述を利用するため、難しいめの方法となっています!

・全国学力テスト 中学校 個人票 両面印刷

・PDFに空白ページを挿入する

・pdf 空白ページ 追加 フリー

①前提

今回の環境についてです。

・Windows10
・Python 3.11.5
・PyPDF2

②ファイルの準備をする

後々にファイルの指定がわかりやすいようにデスクトップに置きました。

・input.pdf

元となる入力PDFファイル。とりあえず7ページ目まで作成しました。

・blank.pdf

白紙1ページのPDFファイル。

・pdf.py

Pythonのプログラムファイル。

参考:Pythonのプログラム(pdf.py)の作成

メモ帳を開いて以下のプログラムを入力しました。

import PyPDF2

input_pdf = "input.pdf" # 入力PDFファイル名
output_pdf = "output.pdf" # 出力PDFファイル名
blank_pdf = "blank.pdf"  # 空白ページファイル

# PDFファイルを読み込む
with open(input_pdf, 'rb') as pdf_file, open(blank_pdf, 'rb') as blank_file:
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    blank_reader = PyPDF2.PdfReader(blank_file)
    pdf_writer = PyPDF2.PdfWriter()

    # 1ページ目をコピー
    first_page = pdf_reader.pages[0]
    pdf_writer.add_page(first_page)

    # 3ページごとに1ページの空白ページを挿入
    for page_num in range(1, len(pdf_reader.pages)):
        # 空白ページを挿入
        if (page_num) % 3 == 0:
            blank_page = blank_reader.pages[0]
            pdf_writer.add_page(blank_page)

        # 元のページをコピー
        page = pdf_reader.pages[page_num]
        pdf_writer.add_page(page)

    # 出力PDFファイルに保存
    with open(output_pdf, 'wb') as output_file:
        pdf_writer.write(output_file)

print(f"{output_pdf} を作成しました。")

プログラムはメモ帳を保存する時に「pdf.py」という名前にしました。

③Pythonのダウンロード&インストール

以下のURLからPythonのダウンロード
https://www.python.org/downloads/windows/

Python Releases for Windows
The official home of the Python Programming Language

 記事作成時はPython 3.11.5でした。
Download Windows installer(64-bit)を利用してインストールしました。

④コマンドプロンプトの起動

スタートメニュー > Windowsシステムツール > コマンドプロンプト

【Python】PDFの4ページ目に空白挿入で両面印刷したい

起動後

【Python】PDFの4ページ目に空白挿入で両面印刷したい

C:¥Users¥(ユーザー名)

という表示になっています。

⑤「PyPDF2 ライブラリ」のインストール

コマンドプロンプト上でPDFのためのセットをインストールします。

さきほどのC:¥Users¥(ユーザー名)>の続きに、以下を入力します。

pip install PyPDF2
【Python】PDFの4ページ目に空白挿入で両面印刷したい

入力ができたら、Enterを押すとインストールが開始されます。

⑥コマンドプロンプトでデスクトップに移動。

コマンドプロンプト上でデスクトップに移動します。

C:¥Users¥(ユーザー名)>の続きに、以下を入力します。

cd desktop
【Python】PDFの4ページ目に空白挿入で両面印刷したい

Enterを押すと
C:¥Users¥(ユーザー名)\Desktop>
という状態になります。

⑦Python(pdf.py)を指定する

デスクトップ上にあるpdf.pyを指定します。

pdf.py
【Python】PDFの4ページ目に空白挿入で両面印刷したい

⑧完成

【Python】PDFの4ページ目に空白挿入で両面印刷したい

デスクトップにoutput.pdfが作成されています。

3ページ毎に空白ページが挿入されました!

何かありましたらコメントください。

お読みいただきありがとうございます。

コメント

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