🌟
pythonでPDFをバイナリーで結合する方法
Pythonでバイナリー形式のPDFファイルとローカルのPDFファイルを結合する方法
画像やテキストなどの情報を含むPDFファイルは、重要な文書を扱う際に広く使用されます。特定の状況では、WebからAPI
等でダウンロードしたバイナリー形式のPDFファイルとローカルにあるPDFファイルを結合させる必要が生じることがあります。この記事では、PythonのPyPDF2
とbase64
モジュールを使用して、バイナリー形式のPDFファイルとローカルのPDFファイルを効果的に結合する方法を詳しく解説します。
コードの意味と使い方
以下のコードは、ダウンロードしたバイナリー形式のPDFファイルとローカルのPDFファイルを結合する方法を示しています。
import base64
import PyPDF2
from io import BytesIO
from typing import BinaryIO
# ダウンロードしたバイナリー形式のPDFデータ
res_base64_pdf = "WebなどからダウンロードしたバイナリーのPDF"
# 結合させたいローカルにあるPDF
local_pdf_path = './test.pdf'
bin_local_pdf: BinaryIO = open(local_pdf_path, "rb")
# ダウンロードしたバイナリーのPDFをバイト形式に変換
byte_download_pdf: BytesIO = BytesIO(base64.b64decode(res_base64_pdf.encode()))
# PdfFileMergerオブジェクトの取得
mgr = PyPDF2.PdfFileMerger()
# ダウンロードしたPDFとローカルのPDFを結合
mgr.append(byte_download_pdf)
mgr.append(bin_local_pdf)
# 新しいPDFファイルを作成し、バイナリーモードで書き込む
with open("joined.pdf", "wb") as new:
mgr.write(new)
# ファイルを閉じる
bin_local_pdf.close()
コードの詳細解説
- ダウンロードしたバイナリー形式のPDFデータを、
res_base64_pdf
として設定します。 - 結合させたいローカルにあるPDFファイルのパスを
local_pdf_path
として設定します。 -
bin_local_pdf
変数を使用して、ローカルのPDFファイルをバイナリーモードで開きます。 - ダウンロードしたバイナリー形式のPDFデータをバイト形式に変換し、
byte_download_pdf
変数に格納します。 -
PyPDF2.PdfFileMerger()
を使用して、PdfFileMerger
オブジェクトを作成します。 -
mgr.append()
メソッドを使用して、バイナリー形式のダウンロードPDFとローカルのPDFを結合させます。 -
with open("joined.pdf", "wb") as new:
で新しいPDFファイルをバイナリーモードで作成し、書き込みます。 - 最後に、
bin_local_pdf
を閉じてファイルを正しく扱います。
まとめ
PythonのPyPDF2
とbase64
モジュールを駆使して、バイナリー形式のPDFファイルとローカルのPDFファイルを結合する方法を詳しく解説しました。これによって、WebからダウンロードしたPDFとローカルのPDFを効率的に結合できるようになります。プロジェクトに合わせてこの方法を活用して、PDFファイルの結合をスムーズに行いましょう!
公式ドキュメント:
Discussion