前回に続いて「pdftk」を利用したPDFハンドリング術を紹介する。Preview.appでは難しいPDFの加工/編集、ウォーターマークの追加など、実用的な活用テクニックのあれこれを参考にしてほしい。

特定のページを抽出する

PDFの特定ページを抽出する場合には、内部コマンド「cat」を利用する。前回、すべてのページを抽出するときには「burst」を利用したが、「cat」ではページ番号を引数に与えることができる。たとえば、「cat 1 5」とすれば1ページと5ページを、「cat 2-6」とすれば2ページから6ページの計4ページを抽出したPDFを作成できる。なお、ページ番号の代わりに「odd」を指定すれば奇数ページを、「even」を指定すれば偶数ページを抽出することも可能だ。

$ pdftk MYNAVI.pdf cat 2 5 output out.pdf

ページを逆順に並び替える

ページの並び替えも、内部コマンド「cat」を使うとかんたんに実行できる。以下のコマンド実行例では、ページの並び替えを最終ページから先頭ページへと逆転させている。ここでは最終ページを意味する文字列として「end」を利用しているが、代わりに「r1」を利用してもいい。最後から2ページ目が「r2」、3ページ目が「r3」のように使用することもできるので、あわせて利用したい。

$ pdftk MYNAVI.pdf cat end-1 output out.pdf

ページを回転する

前述した内部コマンド「cat」は、抽出したいページ番号にオプションを添えると回転した状態でページを抽出できる。たとえば、奇数ページを抽出すると同時に時計回りに90度回転させたレイアウトに変更したいときには、以下の要領でコマンドを実行してみよう。すべてのページを対象としたければ、「1-endright」や「1-endleft」などと指定すればいい。

なお、利用できる回転オプションは表1のとおり。多くの場合、「right」か「left」で足りてしまうが、角度は90度単位で自由自在だ。

$ pdftk MYNAVI.pdf cat oddright output out.pdf

奇数ページを対象に、右方向へ90度回転させて出力したPDF。回転オプションは、MacBookの画面をできるだけ生かしてPDFを表示したいときなどに便利そうだ

回転オプション
回転 方角指定 向き指定
0 north -
90 east right
180/+180 south down
270/-90 west left

複数のPDFの"欲しいページだけ"結合する

$ pdftk A=MYNAVI.pdf B=PR_01.pdf cat B2-3 A3-5 output ot.pdf

透かし入りのPDFを作成する

本文に重なるよう「DRAFT」や「コピー禁止」などの文字を差し込むウォーターマーク(透かし)は、ビジネス文書におけるニーズが高い。だから有償のPDF編集ツールのなかにはウォーターマーク機能を備えるものも多いが、Preview.appにはこれがない(署名機能を使えばできないことはないが)。

pdftkの開発元では、このウォーターマーク機能を有償オプションとして提供しているが、標準の機能をうまく組み合わせれば同じことができてしまう。「コピー禁止」などウォーターマークとして使いたい文字列を、背景が透明のPDFとして用意する必要はあるが、これさえクリアできればOKだ。

使いかたはかんたん、最初の引数にウォーターマークとして使用する(最前面に表示する/背景が透けている)PDFを与え、内部コマンド「background」に続けて本文のPDFを、output以降に書き出すPDFをそれぞれ指定すればいい。たとえば、以下のコマンド実行例では、本文のPDF(IN.pdf)にウォーターマーク(watermark.pdf)を重ね、out.pdfに書き出している。

$ pdftk watermark.pdf background IN.pdf output out.pdf

ただし、前掲の方法では出力されるページは1枚のみとなってしまう。すべてのページへ(スタンプを押すように)ウォーターマークを重ねて出力するには、内部コマンド「stamp」を利用したほうがいい。今度は最初の引数に本文のPDFを指定することに注意しよう。

$ pdftk MYNAVI.pdf stamp watermark.pdf output out.pdf

「コピー禁止」と大書されたPDFを使い、前ページにウォーターマークとして重ねたところ。「DRAFT」や「社外秘」などの文字も用意したいところだ