PDFファイルをpdfcropコマンドでトリミングする

PDFファイルの上の一部を切り取り、左、右、下はある程度余白を残してトリミングする必要がありました。しかも同様の処理を20個くらいのPDFファイルに対してしなければならない。Adobe Acrobatとかでやるのはちょっとめんどくさいな〜と思って調べたらコマンドでできた。

使ったコマンドはpdfcropです。

今回参考にしたもの。どちらも2019年12月3日にアクセス。

実行環境

  • macOS Mojave
  • pdfcropはもともと入っていた(おそらくTexを入れたときに一緒に入った)

ちなみにpdfcropの場所はここでした。

~ $ which pdfcrop
/Library/TeX/texbin/pdfcrop

コマンド説明

PDFファイルの上の一部を切り取り、左、右、下はある程度余白を残してトリミングする必要がありました。

これを実現するコマンドは次。

pdfcrop --margins '10 -10 10 10' sample.pdf

pdfcropコマンドに--marginsオプションを付け、'左 上 右 下'の順に切り取り(負の値)、余白(正の値)を指定する。最後にトリミングするpdfのファイル名を入れる。

これ以外の使い方はpdfcrop - TeX Wikiかpdfcropコマンドのマニュアルを見てください。

フォルダ内のpdfをすべてトリミング

しかし最初に言ったように僕は、

同様の処理を20個くらいのPDFファイルに対してしなければならない。

command-line - PDFファイルをトリミングするためのコマンドラインツール - 答えたを参考に、まとめてトリミングしてくれるシェルスクリプトを書きました。bashです。

#!/bin/bash
for FILE in ./*.pdf; do
  pdfcrop  --margins '35 -10 35 40' "${FILE}"
done

sh triming.shで実行すると、このスクリプトを置いたフォルダ内の全てのpdfファイルに対して同じサイズでトリミングができます。便利。

githubにこのスクリプトを置きました。

余談

ImageMagickのconvertコマンドでもできる。知人に言われてこのコマンドの存在をさっき思い出しました。