ライブラリの準備
まず使用するライブラリを準備します。
ライブラリのインストール
今回、PDF編集にPyPDF2というライブラリを使用します。
pip install pypdf2
ライブラリのインポート
PyPDF2の他にフォルダの位置を指定するためにosライブラリを使用します。
osはPythonをインストールした時に標準で組み込まれているため、インストールは不要です。
import os
import PyPDF2
ファイル処理の関数作成
以下のような関数を記述します。
フォルダの中のファイルを調べ1つのPDFにまとめます。
def merge_pdfs_in_folder(folder_path, output_filename):
# 指定されたフォルダ内のファイルをリストアップ
files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]
files.sort() # ファイル名順にソート
# 絶対パスに変換
pdfs = [os.path.join(folder_path, f) for f in files]
# PDFマージオブジェクトの作成
pdf_merger = PyPDF2.PdfMerger()
# リスト内の各PDFを追加
for pdf in pdfs:
pdf_merger.append(pdf)
# PDFの保存
with open(output_filename, 'wb') as f:
pdf_merger.write(f)
フォルダを指定してPDFをまとめる
先ほど作成した関数で実際にPDFをまとめます。
folderにまとめたいフォルダの位置を、outputにまとめたPDFファイルの名前を指定してください。
このPythonコードのファイルが保存されている同じ場所に「pdf_folder」というフォルダを作り、そこにまとめたいPDFファイルを入れておけば大丈夫です。
folder = './pdf_folder' # PDFファイルが格納されているフォルダ
output = 'merged.pdf' # 出力ファイル名
merge_pdfs_in_folder(folder, output)
バージョンに注意
PyPDF2 3.0.0 以降ではPDFを1つにするコードが一部変更されています。
3.0.0より前のバージョンは以下のコードを使用してください。
# PDFマージオブジェクトの作成
pdf_merger = PyPDF2.PdfFileMerger()
バージョンが合わないと以下のようなエラーが出ます。
PdfFileMerger is deprecated and was removed in PyPDF2 3.0.0. Use PdfMerger instead.
オススメ書籍
・Python1年生
コードを書くときにどうしても最低限の知識は必要になります。
Pythonの基礎を学びたいときはこの書籍から始めるのがオススメです。
丁寧な表現で導入に向いています。
-
Python1年生 第2版 体験してわかる!会話でまなべる!プログラミングのしくみ
www.amazon.co.jp
・化学のためのPythonによるデータ解析・機械学習入門
データ分析に必要な最低限の知識を解説したうえで、化学プラントで得られるデータの扱い方が紹介されています。
脱ブタン塔や排煙脱硝装置を例に取り上げられておりイメージしやすくなっています。
-
化学のためのPythonによるデータ解析・機械学習入門
www.amazon.co.jp
・Pythonによる時系列分析: 予測モデル構築と企業事例
プロセス製造において時系列データの分析は欠かせません。
どのように時系列予測モデルを構築し、ビジネスへ活用していくかを詳細なPythonコードとともに解説してくれます。
-
Pythonによる時系列分析: 予測モデル構築と企業事例
www.amazon.co.jp