PDFBook


はじめに

ネットワークで pdf ファイルをダウンロードした際, 「これはいい情報だ, 印刷して座右の書にしたい」と思うことが多々あります (情報を公開してくださる諸氏に感謝). しかし, 通常公開情報は A4 サイズで出来ています. 紙を節約するため, かつ携帯に便利なように「2 ページ毎」モードで両面印刷し 二つに折って製本したいものです. こういう用途のため, 近頃の両面プリンタには「製本印刷」モードというのが ありますが, 我が家のプリンタは片面プリンタですので, そういうモードは ありません. 両面印刷するためには手動で一枚一枚行ってます.

そこで pdf ファイルのページを製本向きに入れ替えるプログラムを作ってみました.

プログラム

プログラムの実行形式は Windows コマンドラインで動きます. はっきり言ってかなりいい加減な代物です. ps ファイルを印刷できる環境の方は (acrobat を持っている, ghostscript が入っている, ps プリンタがある等), こんなもの使わず, pdftops 等で pdf を一旦 ps ファイルに変換した後, psbook というツールで入れ替えた方がいいでしょう.

どのくらいいい加減かといいますと, pdf ファイルの書式 (フォーマット) が分からないため, バイナリエディタで幾つかの pdf ファイルを覗き, 弄って, 書式を類推し, それに基づき適当に作ったものです. ですから, ページ入れ替えが出来る pdf ファイルもありますが, ページ変換ができない (開くとエラーが出て見れない) pdf ファイルも多々あります. そういうファイルはあきらめてください.

さらに, エラー処理もいいかげんです. 壊れた物や, 想定外の書式, さらにファイル内の オブジェクトが異常に大きい pdf ファイルを食わせると, 変換できないだけでなく, プログラムが異常終了する可能性もあります.

これだけ脅しても取りたいという方は こちらから実行形式を入手してください. pdfbook.exe が実行形式です.

[追記]: デバッグ用コードが原因で, 大きい PDF だと落ちていたので修正 (V0.0.2, 2006.2)

pdf ファイルを引数に本プログラムを呼び出すと, _book という pdf ファイルが生成されます. たとえばオリジナルが全 4 ページだとすると, 生成されたファイルのページの並びは 4-1-2-3 に, 全 8 ページだとすると, 8-1-2-7-6-3-4-5 に変換されます. 全部を二つ折りにして真ん中を綴じると左綴じの本ができあがります. なお, 4 で割り切れないページ数のファイルは 4 で割り切れる数まで 白紙が追加されます.

ところがこの方式では, 全部で 200 ページもあるファイルの場合, 50 枚もの紙を二つ折にして重ね, 真ん中を綴じる必要があり大変になってしまいます. そういう時のため -u オプションというのがあります. 例えば -u5 と追加すると 5 つに分割され, 40 ページ (10 枚) 毎に二つ折りに して綴じ, それらを束ねて製本できるようになります. 割り切れれば各分割のページ数は同じですが, 割り切れない場合は微妙に各ページ数 が異なります. 何ページ分割したかは画面に表示されてますので参考にしてください.

また, -r オプションを付けると右綴じ用になります.

注意・その他


[戻る]