我々大学生にとっては、授業資料持ち込み可とされた試験に持ち込む資料をいかに効率的に印刷するかということは死活問題であります。先日も、ある試験に Linux の man ページを厚さ 1cm ぶんほど持ち込もうとしていた人を見ました。 それはさておき、一見プロプラな何かが必要そうな PDF の編集も、単純なものであればコマンド一発で済ませることができます。大量の授業資料をガショッと印刷して、ライバルに差をつけちゃおう!
結合する
% pdfunite hoge.pdf fuga.pdf piyo.pdf out.pdf
とすると hoge, fuga, piyo の順で結合された奴が out.pdf として出現します。Arch では extra/poppler
パッケージのコマンドでした。
また、
% pdfjoin hoge.pdf fuga.pdf piyo.pdf
でも同じことができます。こっちは extra/texlive-core
パッケージです。
pdfunite
のほうが高速 (体感) ですが、pdfjoin のほうが高機能です。
n-up
% pdfnup --nup 2x3 slide.pdf
こういうやつが
こうなります。
--help
を見るとわかりますが、サイズやマージンなどをだいぶ細かく調整できます。Arch では extra/texlive-core
のコマンドでした。
そのまま実行するとマージンとかが一切付与されないので、印刷されない部分が出てくるかもしれません。こういうときは、--scale <スケール値>
とオプションをわたすと、ページを nup した後にスケールしてくれるので、結果的にマージンを発生させることができます。だいたい 0.9
くらいにしとくとスペースを最も有効に活用できると思いますが、プリンタなどにより異なると思うので適当に試してください。
実例
pdfnup
には --batch
オプションがあります。これをつけると、渡したファイル名全てに対して処理が実行されます。
% pdfnup --nup 2x3 --batch 01.pdf 02.pdf 03.pdf (出力は略) % ls 01.pdf 01-nup.pdf 02.pdf 02-nup.pdf 03.pdf 03-nup.pdf
というわけで、こういう感じにすると nup と結合が一発で出来ていい感じだと思います。
% pdfnup --nup 4x4 --scale 0.9 --batch *.pdf && pdfunite *-nup.pdf out.pdf
その他
pdfnup とかのバックエンドっぽい pdfjam というコマンドを使えばだいたい何でもできそうな気がしてきます。例によって extra/texlive-core
のコマンドです。内部的に pdflatex を使っているようで、なるほどと言った感じですね。