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 3.11.5でした。
Download Windows installer(64-bit)を利用してインストールしました。
④コマンドプロンプトの起動
スタートメニュー > Windowsシステムツール > コマンドプロンプト

起動後

C:¥Users¥(ユーザー名)>
という表示になっています。
⑤「PyPDF2 ライブラリ」のインストール
コマンドプロンプト上でPDFのためのセットをインストールします。
さきほどのC:¥Users¥(ユーザー名)>の続きに、以下を入力します。
pip install PyPDF2

入力ができたら、Enterを押すとインストールが開始されます。
⑥コマンドプロンプトでデスクトップに移動。
コマンドプロンプト上でデスクトップに移動します。
C:¥Users¥(ユーザー名)>の続きに、以下を入力します。
cd desktop

Enterを押すと
C:¥Users¥(ユーザー名)\Desktop>
という状態になります。
⑦Python(pdf.py)を指定する
デスクトップ上にあるpdf.pyを指定します。
pdf.py

⑧完成

デスクトップにoutput.pdfが作成されています。
3ページ毎に空白ページが挿入されました!
何かありましたらコメントください。
お読みいただきありがとうございます。
お読みいただきありがとうございます!
WordTOMOからのお知らせ
- 当ブログの記事内容は、作成時点の情報に基づいています。そのため、記事が公開された後に情報が変更される場合があります。最新の情報は各自でご確認ください。
- 記事の内容は筆者が調査した結果に基づいていますが、必ずしも完全・正確であるとは限りません。参考情報としてご活用いただき、最終的な判断はご自身の責任で行ってください。
- 記事の内容に具体的な誤りや不足がある場合は、コメント欄またはお問い合わせフォームからお知らせいただければ幸いです。
- 当ブログをお読みいただいた評価やコメントをお寄せいただけると励みになります。以下の投票ボタンからぜひご感想をお寄せください!
まだ投票がありません。
コメント