#2つのPDFファイルを1ページ毎相互に挟み込みつつ1つのPDFにする
職場でリクエストがあったので作ってみた。
【準備したファイル】
・pdfA.pdf
・pdfB.pdf
・pdf.py
【イメージ】
pdfA.pdf --> pageA-1, pageA-2, pageA-3, ...
pdfB.pdf --> pageB-1, PageB-2, pageB-3, ...
pdfC.pdf --> pageA-1, pageB-1, pageA-2, pageB-2, pageA-3, pageB-3, ...
###【手順】
####PyPDF2ライブラリのインストール
conda install -c conda-forge pypdf2
####スクリプト作成
pdf.py
#! ~/usr/bin/python
# *-# -*- coding: utf-8
import PyPDF2
#ファイルのパス
pdfA = "pdfA.pdf"
pdfB = "pdfB.pdf"
#出力pdfオブジェクト
pdf_writer = PyPDF2.PdfFileWriter()
#pdfAオープン
f_A = open(pdfA, "rb")
pdfA_obj = PyPDF2.PdfFileReader(f_A)
#pdfBオープン
f_B = open(pdfB, "rb")
pdfB_obj = PyPDF2.PdfFileReader(f_B)
#pdfAファイルのページ数を取得
pdfA_obj.numPages
#各PDFを1ページ毎に挟み込む。繰り返しの回数はpdfA_obj.numPagesで取得したものを設定する
for page_num in range(pdfA_obj.numPages):
page_obj = pdfA_obj.getPage(page_num)
pdf_writer.addPage(page_obj)
page_obj = pdfB_obj.getPage(page_num)
pdf_writer.addPage(page_obj)
#pdfC.pdfとして出力
pdf_output = open('pdfC.pdf', 'wb')
pdf_writer.write(pdf_output)
pdf_output.close()
###実行
% python pdf.py
今後
ページ数を自動で取得して、スクリプトの編集なしで目的の動作をさせる。