PDFのページ順を逆にする

こんな時間に何やってるんだという話だけど。

紙をスキャンしてPDF化するとする。そのときによくある(?)話として、「裏表を別々のPDFにしたい」というのがある。

例えば、出席番号順に並べられた両面印刷のテストの答案を、表面・裏面別々にスキャンする場合など。

表面はそのままの順番で、コピー機のスキャナなり、ScanSnapなりにかければそれで大丈夫だからいいんだけども、面倒臭いのは裏面のスキャンである。スキャンの前に順番を手作業で入れ替える必要が出てくる。10人20人くらいなら何とかなるが、大人数になるときついものがある。かといって、逆の順番でPDFにしたもんなら、ページを逆に繰っていかないといけなくなる(まぁそれでもいい人はそれでいいんだけども)。

実際PDFのページ順の編集はAcrobatを使えばできる、、が世の中にはそんな高いソフトを持ってる人ばかりいるわけではない(そもそも持っていたとしても、Acrobatにはページ順をご丁寧に逆にしてくれる機能は備わっていない)。
あと、仮想プリンターで逆順印刷という方法もあるけど、画質が劣化したりファイルサイズが大きくなったりすることを考えるとちょっと。。

何とかならないものか。

 

解決策:「pdftk」というフリーソフトを使ってPDFのページ順を変えてしまおう

「pdftk」はフリーソフトではあるものの、CUIなのでとっつきにくいかもしれない。その点のみ注意。

※以下Windowsでの作業

1. 下記のページからインストーラーをダウンロードする。「Download PDFtk Free!」という緑色のボタンがそれ(なんか偽物っぽいけど本物)。

PDFtk – The PDF Toolkit
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

2. インストーラーを開いて指示に従ってインストール。

3. なんかGUIっぽいウィンドウが出てくるけど、有料版買えと言われるだけなので閉じる。

4. コマンドプロンプトを起動。コマンドプロンプト?何それ?という人はスタート開いて「cmd」で検索。

5. まず「pdftk」と入力してEnter。以下のような表示が出ればおk。

SYNOPSIS
pdftk <input PDF files | – | PROMPT>
[ input_pw <input PDF owner passwords | PROMPT> ]
[ <operation> <operation arguments> ]
[ output <output filename | – | PROMPT> ]
[ encrypt_40bit | encrypt_128bit ]
[ allow <permissions> ]
[ owner_pw <owner password | PROMPT> ]
[ user_pw <user password | PROMPT> ]
[ flatten ] [ need_appearances ]
[ compress | uncompress ]
[ keep_first_id | keep_final_id ] [ drop_xfa ] [ drop_xmp ]
[ verbose ] [ dont_ask | do_ask ]
Where:
<operation> may be empty, or:
[ cat | shuffle | burst | rotate |
generate_fdf | fill_form |
background | multibackground |
stamp | multistamp |
dump_data | dump_data_utf8 |
dump_data_fields | dump_data_fields_utf8 |
dump_data_annots |
update_info | update_info_utf8 |
attach_files | unpack_files ]

For Complete Help: pdftk –help

6. 並び替えたいPDFファイルのあるフォルダに移動する。最初は自分のユーザーフォルダにいるはずなので、このページを参考に、コマンドを打ち込んでいく。
基本的にはcdコマンドしか使わないが、フォルダの中身を確認したい場合にはdirコマンドを使う。フォルダ名が長くて全部打ち込むのがしんどい場合には、途中まで打ち込んで「Tab」キーを押してみる。

7. 以下のように入力

pdftk ページを逆にしたいPDFのファイル名 cat end-1 output ページを逆にして保存するときのファイル名

例えば「himajin.pdf」という名前のPDFのページを並び替えて「himajin_2.pdf」という名前のPDFにして保存したい場合には

pdftk himajin.pdf cat end-1 output himajin_2.pdf

と入力するとよい。

これで同じフォルダの中に、並び替えの済んだPDFファイルが新しい名前で保存されているという算段。
Macの人も、インストールしてからの手順は一緒(のはず)。

コマンドに慣れていない人には少ししんどいかもしれないけど、Acrobatも必要なければ、仮想プリンターでの印刷のように画質が劣化することもない。
機会があればぜひ。

以下のページを参考にしました。

  • Windowsバッチ・コマンドで,大量のPDFを一括で結合・分割し,各ページ数を調べて一定サイズにまとめよう (pdftkをコマンドプロンプトやWSHから使う方法) – Add Star
    http://d.hatena.ne.jp/language_and_engineering/20150113/PdftkOnWindowsBatch
  • PDFを逆順に並べ直す(最初から最後のページを全部逆順に整列) – それマグで! http://takuya-1st.hatenablog.jp/entry/2013/07/26/172537

さて、遊んでないで帰ろう。

カテゴリー PC・ICT関連雑記 タグ .