pdftkというコマンドラインのPDFの編集を行える高機能なアプリケーションがあります。
コマンドラインによるPDF操作を行えばわざわざ重いPDF編集アプリを立ち上げなくともPDFファイルの編集ができます。またスクリプト、バッチファイルとしてPDFを処理するようにすれば複数のPDFファイルを短時間でミスなく編集することができるようになります。
コマンドラインでPDF操作のできるツールであるpdftkはWindows, Mac, Linux用にリリースされています。
ダウンロード先
PDFtk - The PDF Toolkit
pdftkをインストールすると自動的にコマンドラインのpdftkのパスが設定されるため、どこのディレクトリからも呼び出すことができます。
今回はpdftkを用いた基本的な使い方について紹介します。
目次
PDFファイルの結合
pdf1.pdfとpdf2.pdfを結合してcombined.pdfを生成
1 2 |
pdftk pdf1.pdf pdf2.pdf cat output combined.pdf |
ページの挿入
pdf_original.pdfの3ページ目にinsert.pdfを挿入してoutput.pdfを生成
1 2 |
pdftk A=pdf_original.pdf B=insert.pdf cat A1-2 B A3-end output output.pdf |
空ページを挿入するときは別途ブランクのpdfを用意して同様の方法で白紙の挿入を行います。
ページの削除
pdf_original.pdfの3ページ目を飛ばしてoutput.pdfを生成
1 2 |
pdftk pdf_original.pdf cat 1-2 4-end output output.pdf |
元のPDFファイルから特定のページを削除するといったオプションがありません。新しいPDFファイルを生成するときに特定のページのみを含めるといった指定方法になります。
ページの入れ替え
pdf_original.pdfの2ページ目と3ページ目を入れ替えてoutput.pdfを生成
1 2 |
pdftk pdf_original.pdf cat 1 3 2 4-end output output.pdf |
元のPDFファイルの特定のページを入れ替えるオプションがありません。新しいPDFファイルを生成するときに特定のページのみ順番を指定して新しいPDFファイルを生成する方法になります。
ページの回転
pdf_original.pdfの1ページ目を右(90度)に回転してoutput.pdfを生成
1 2 |
pdftk pdf_original.pdf cat 1right 2-end output output.pdf |
回転を指定するオプションとしては以下のオプションがあります。右側の数値は回転する角度。
north: 0, east: 90, south: 180, west: 270, left: -90, right: +90, down: +180. left, right, and down
背景、スタンプの追加
original.pdfにwatermark.pdfの内容を背景として追加してoutput.pdfとして出力
1 2 |
pdftk pdf_original.pdf background watermark.pdf output output.pdf |
original.pdfにwatermark.pdfの内容をスタンプとして追加(前面に追加)してoutput.pdfとして出力
1 2 |
pdftk pdf_original.pdf stamp watermark.pdf output output.pdf |
合成する背景、スタンプはあらかじめPDFとして作成しておく必要があります。
PDFのパスワード解除
1 2 |
pdftk protected.pdf input_pw testpass output unlocked.pdf |
input_pwでパスワードを指定します。パスワードロックのかかっていないPDFファイルが生成されます。
ページの分解
pdftk pdf_original.pdf burst output bursted_pdf%02d.pdf
指定したPDFのページを1ページずつバラバラのファイルとして出力します。
空ページの挿入
予め白紙(ブランク)のpdfファイルを用意の上で上述の方法で挿入したいページに挿入。
テキストの抽出
pdftkのみではできません。pdftotextが必要。
画像への変換
pdftkのみではできません。pdfimagesが必要。
ページ番号を追加
pdftkのみではできません。予めページ番号のみ入っているPDFファイルを用意した上で各ページの背景か前面に追加する必要があります。