【Linux】複数の PowerPoint ファイルを一括で PDF に変換し 1 つの PDF に結合する方法
私の個人的な趣味で北海道大学恵迪寮で毎年作られる寮歌の歌詞カードを作って、音声ファイルと結合して YouTube にあげているのですが、この歌詞カード部分が欲しいと依頼されました。100 個以上ある歌詞データが 複数の PowerPoint ファイルによるスライドとなっていて扱いが不便だったので、一括で処理した方法をメモしておきます。
なおここで用いる方法は Linux を使っています。WIndows でも WSL (Windows Subsystem for Linux) を導入すれば使えるでしょう。Mac もよく知らんけど使えるでしょう。
複数 PowerPoint から PDF への一括変換
Microsoft PowerPoint には PDF で保存する機能もあるので、当然ファイルを一つずつ開いて保存すればよいです。しかし 100 以上も作業するのは大変なのでコマンドラインで操作します。
Linux で使えるオフィスソフトウェアである LibreOffice はコマンドラインで操作することもできるので活用します。以下が変換するコマンドの例です。
$file_name="変換したい.pptx"
dest_dir="出力先のパス"
libreoffice --convert-to pdf --outdir $dest_dir --headless $file_name
今回は複数ファイルについて処理したいので $file_name のところはワイルドカードなどで指定できます。したがって変換したい pptx が置いてあるディレクトリに移動したりして
dest_dir="出力先のパス"
libreoffice --convert-to pdf --outdir $dest_dir --headless *.pptx
とすれば全部変換できます。話によると Word の docx とか Excel の xlsx とかでもできるらしいですね。
できた PDF ファイルを一つに結合
ファイルごとにバラバラの PDF ファイルが出来上がるので一つに結合します。結合には pdftk コマンドを利用します。
pdftk *.pdf cat output merged.pdf
ここでワイルドカードなどを使うと結合する順番がアルファベット順になったりするので、必要に応じてファイル名の指定方法を考える必要があります。
なお pdftk コマンドがないときは Ubuntu など Debian 系の場合は以下のコマンドでインストールできます。
apt install poppler-utils
できあがった PDF
出来上がった PDF を載せておきます。この PDF ファイルに含まれる寮歌の歌詞などは恵迪寮自治会寮歌普及委員会の好意によって提供されています。個人での利用には制限を設けておりませんが、再頒布、投影など、個人を超える範囲で利用される場合はご相談ください。
なお、すべての曲が含まれておりませんが、随時更新予定です。
ディスカッション
コメント一覧
まだ、コメントがありません