7CF Style Tokyo

1999, つまり世紀末マインドで気ままにWEB技術で遊ぼうというコンセプトです

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.pdfbgm.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という名前で出力される。

ライター

HARLYA

無能アリ

趣味でフルスタック開発をしている。巨人の肩に乗りまくりで四捨五入すればエンドユーザー。

関連記事

ブラウザの音声入力インターフェース(VUI)を試す

更新日: 2026/03/28

WEB
データ処理

Turf.jsを使ったマップグリッド配置とセルごとのステータス管理

更新日: 2026/03/28

WEB
データ処理