Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

小冊子風に印刷できるスクリプト

論文などの読み物を印刷する時,携帯性や紙の消費を考えて,4ページ/枚に印刷する.
小冊子のように閉じるためには,印刷後の配置を考えてページを並び替える必要がある.
そんな,ページの並べかえをするスクリプトRifflePDF書いた.

github.com

RifflePDFとはいったい

4ページ/枚の印刷物を次の図のように並べると,コンパクトで美しい

        /|  
    /| / |
   / |/ 5|
  / 7/___|____
 /___|____    |
|         |   |
|x        |3  | `x` は閉じるとこ
|    1    |   |
|x        |___|
|_________|

しかしページを次のように並び替える必要がある

[1][2][3][4][5][6][7][8] ---[並び替え]--> [8][1][2][7][6][3][4][5]
 _______  _______  _______  _______  
|   :   ||   :   ||   :   ||   :   | 
| 8 : 1 || 2 : 7 || 6 : 3 || 4 : 5 | 
|___:___||___:___||___:___||___:___| 
  ---- 順番 --->

そんなこんなを,RifflePDFがしてくれる.印刷対象のページ数が4の倍数じゃない場合は,自動でブランクページも挿入する.

[1][2][3][4][5][6] ---[並び替え]--> [ ][1][2][ ][6][3][4][5]
 _______  _______  _______  _______  
|   :   ||   :   ||   :   ||   :   | 
|   : 1 || 2 :   || 6 : 3 || 4 : 5 | 
|___:___||___:___||___:___||___:___| 
  ---- 順番 --->


使い方

次のコマンドでinput.pdfから,並び替えたoutput.pdfを生成する.

$ rifflepdf -o output.pdf input.pdf

RifflePDFはバックエンドに,pdftkかpopplerのコマンドラインツールを使用する.どちらかがインストールされていると自動で検出し,適当な方を選ぶ.また両方インストールされているとデフォルトでpdftkを使用する.手動で設定したいなら,-mオプションで指定できる.

$ rifflepdf -o output.pdf -m pdftk input.pdf

しかしpdftkの使用をすすめる.なぜならpopplerを使用すると,処理に時間がかかり,また生成後のPDFのサイズが大きくなる.

動作環境

pdftkか,popplerのコマンドラインツールをインストールする必要がある.
おそらくpopplerのコマンドラインツールは,poppler-utilsあるいはpoppler-toolsで提供されていると思う.




本体よりREADMEに力が入ってしまったので見てやってくだせえ