見出し画像

【Python】PDFを結合する方法 ~備忘録~

はじめに

PDFファイルは、ビジネスや日常生活でよく使用されるファイル形式です。複数のPDFファイルを1つのファイルにまとめたい場合、手作業で結合するのは大変ですよね。そこで今回は、PythonライブラリのMyPDF2を使って、PDFファイルを簡単に結合する方法をご紹介します。


■MyPDF2とは?

MyPDF2は、PythonでPDFファイルを操作するためのライブラリです。PDFファイルの結合、分割、暗号化など、様々な操作を行うことができます。初心者でも使いやすいシンプルな設計が特徴です。

◆必要なもの:

  • Python環境

  • MyPDF2ライブラリ

◆MyPDF2のインストール:

MyPDF2ライブラリは、以下のコマンドでインストールできます。

pip install PyPDF2

■サンプルコード

サンプルコードをご紹介します。


'''
<概要>
フォルダ『PDF』内のPDFファイルをつなげる。

<準備>
ソースファイルと同じフォルダに[PDF] [Finished]フォルダを作成しておく。
結合したいPDFファイルは[PDF]フォルダに入れる。
'''

import PyPDF2, os, sys

#
folder = "PDF"  #結合したいpdfファイルを入れるところ
move = "Finished"  #処理が済んだpdfファイルを移すところ

#PDFファイルリスト取得
files = os.listdir(folder)
pdf_files = [f for f in files if f.endswith(".pdf")]

#PDFファイルがなければ終了
if not pdf_files:
    sys.exit()

#PDFファイル作成
pdf_writer = PyPDF2.PdfWriter()

#全PDFファイル取得
for pdf_file in pdf_files:
    pdf_file = PyPDF2.PdfReader(os.path.join(folder, pdf_file))
    for page in pdf_file.pages:
        #ページ追加
        pdf_writer.add_page(page)

#PDFファイルに出力
with open("new_" + pdf_files[0], "wb") as f:
    pdf_writer.write(f)
    
#処理したPDFを移動
for pdf_file in pdf_files:
    os.rename(os.path.join(folder, pdf_file), os.path.join(move, pdf_file))

◆使用方法:

  1. ソースコードと同じフォルダに『PDF』『Finished』フォルダを作成する。

  2. 結合したいPDFを『PDF』に入れます。

  3. コードを実行すると、ソースコードと同じフォルダに『結合したPDF』が作成されます。

  4. 処理が済んだPDFファイルは『Finished』へ移動します。

■説明

◆ファイルを開く:

pdf_file = PyPDF2.PdfReader("PDFファイル.pdf")

◆新しいPDFファイルを作成する:

pdf_writer = PyPDF2.PdfWriter()

◆PDFファイル結合:

for page in pdf_file.pages:
  pdf_writer.add_page(page)

◆新しいPDFファイルを保存:

with open("新しいPDFファイル.pdf", "wb") as f:
  pdf_writer.write(f)

■まとめ

MyPDF2を使えば、簡単にPDFファイルを結合することができます。今回紹介した方法は、基本的なものなので、必要に応じて応用することができます。ぜひ、MyPDF2を使って、PDFファイルの結合を効率化してください。

この記事が気に入ったらサポートをしてみませんか?