PythonでPDFにmp3をバインドする
公開日: 2026/03/25 / 更新日: 2026/03/28
データ処理
PDF資料に音声データ(mp3)を添付したい。Adobe AcrobatのGUIからも行えるが(公式ドキュメント)、今回はPythonを使う。
まず、PythonでPDFを扱うライブラリをインストールする。↓
pip install PyMuPDF次に、以下のコードで、PDFの特定のページにMP3を添付する処理を実装する。↓
import fitz
import sys
in_pdf = sys.argv[1]
mp3 = sys.argv[2]
out_pdf = sys.argv[3]
page_num = int(sys.argv[4]) - 1
doc = fitz.open(in_pdf)
with open(mp3, "rb") as f:
doc[page_num].add_file_annot(
pos=fitz.Point(100, 100),
buffer=f.read(),
filename=mp3,
icon="Speaker"
)
doc.save(out_pdf)
doc.close()
print(f"完了")この.pyファイルと同じフォルダ内に素材を配置する。(今回はsample.pdfとbgm.mp3。)
ターミナルから以下のコマンドを実行する。↓
(python embed_audio.py 元のPDF 添付するMP3 出力するPDF 添付するページ番号)
python3 embed_audio.py sample.pdf bgm.mp3 output.pdf 3これを実行すると、sample.pdfの3ページ目にbgm.mp3が添付されてoutput.pdfという名前で出力される。
ライター
H
HARLYA
無能アリ
趣味でフルスタック開発をしている。巨人の肩に乗りまくりで四捨五入すればエンドユーザー。