PDFを切ったり貼ったりする

はじめに

最近,PDFの結合や分割を行う機会が増えたので,コマンドでいい感じにやる方法をメモしておこうと思います.

環境

他のシェルでも動くと思います.

PDFを結合する

b.pdfとc.pdfをくっつけてa.pdfにする方法です.
.zshrcにこんな感じで追記します.

function pdfconcat() {
    if [ $# -lt 2 ]
    then
        echo "Usage: pdfconcat output.pdf input.pdf input2.pdf..."
        return
    fi
    gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$@
}

あとは,$ pdfconcat a.pdf b.pdf c.pdfでOKです.
複数のファイルを一度につなげることもできます.

分割

b.pdfの2〜3ページ目を切り出してa.pdfにする方法です.
.zshrcにこんな感じで追記します.

function pdfsplit() {
    if [ $# -ne 4 ]
    then
        echo "Usage: pdfsplit input.pdf first_page last_page output.pdf"
        return
    fi
    gs -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$4" -dFirstPage=$2 -dLastPage=$3 -sDEVICE=pdfwrite "$1"
}

あとは,$ pdfsplit b.pdf 2 3 a.pdfでOKです.

おわりに

コマンドでサクッとできると楽ですね.
オンラインで変換してくれるツールもあるようですが,機密情報をアップするわけには行かないので,ローカルで変換できる所が良いと思います.