[Python&Unix]複数のPDFファイルを1つにする。


はじめに

 連番の複数のPDFファイルを一つにする。

使うもの

  • Python(ここでは2.7.9ですが何でも良い。)
  • ghostscript(以下の、GSコマンド)
  • 連番のpdfファイル
    • 別に連番でなくても良いが、連番だと構成がラク。

やってる事

  1. lsコマンドで連番のリストを作成
  2. gsコマンドの引数用に、スペース区切りの文字列に変換。
  3. gsコマンドを実行

ではさっそく....。

ソース

#!/usr/bin/env python
import commands,os
list = commands.getoutput("ls *.pdf").split("\n")

prm = ""

for i in range(len(list)):
    prm =  prm + " " + list[i]

cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=all.pdf"+prm
print cmd

commands.getoutput(cmd)


一カ所for文があるけど、きっともっと簡単な方法があるハズ・・・。
(おしまい。)

コメント頂いたpdftkを使った方法

インストール

$ brew pull https://github.com/Homebrew/homebrew/pull/25953
$ brew install pdftk

その他

参照