
複数ページのPDFファイルを分割していくつかのファイルに分けたいような要望はかなり頻繁に発生します。
今回は、PythonのPdfWriterを使ってPDFファイルを簡単に分割する方法を紹介します。
まず、PyPDF2ライブラリをインストールします。このライブラリはPDFの読み書きやマージに役立ちます。
コマンドプロンプトにて以下を実行します。
pip install pypdf2
簡単なマージ例として、実行するPythonファイルと同じフォルダ内にPDFファイルを入れておいてフォルダ内にある全PDFファイルの中でページ数が4のファイルだけを分割するような場合のコードは以下のようになります。
import PyPDF2
import glob
from pypdf import PdfWriter
merger = PdfWriter()
for pdf in glob.glob('*.pdf'):
# f = 'merged2.pdf' #分割したいPDF
page_sep = 2 #何ページごとに分割したいか
#pdfのページ数を把握する
reader = PyPDF2.PdfReader(pdf)
page_num = len(reader.pages)
# 4ページのファイルだけ実行
if page_num == 4:
#ページの抽出とファイル名に使う数字を派生させforで回す
for page in range(0, page_num, page_sep):
merger = PyPDF2.PdfMerger()
start = page
end = start + page_sep
merger.append(pdf, pages=(start,end))
file_name = str(start) + '.pdf'
merger.write(file_name)
merger.close
5行目のfor文で同じフォルダ内のすべてのPDFファイルを洗い出しています。
分割数を2として、ページ数が4のファイルだけを抜き出して分割しています。
分割した先頭ページ番号をファイル名としていますので、たとえば、0,1ページ目のファイルには「0.pdf」というファイル名がついて保存されます。
以上が、PythonでdfWriterを使ってPDFファイルをマージする方法になります。
【Python】Python仮想環境を別PCに移設する方法 - Django Girls and Boys 備忘録
【Python】Pythonで仮想環境を構築する手順 - Django Girls and Boys 備忘録
【Python 仮想環境構築】OneDriveに仮想環境を構築する方法 - Django Girls and Boys 備忘録
【Python】subprocess.Popen()を使ったプロセスの並列起動について - Django Girls and Boys 備忘録
【Python】exeファイルを実行する方法:subprocess.run()を使った簡単な手順 - Django Girls and Boys 備忘録
プログラミング初心者に最適な一冊:『いちばんやさしいGit&GitHubの教本 第2版』 - Django Girls and Boys 備忘録
【Python】フォルダ内にあるファイル名を抽出する方法 - Django Girls and Boys 備忘録
【Python】キーの同時押し、連続操作などの実施方法 - Django Girls and Boys 備忘録
【Python】PythonでPdfWriterを使ってPDFファイルを分割する方法 - Django Girls and Boys 備忘録