みつのーと

頑張ってます・・・

OSXのプレビューからPDFを中綴じ印刷したくてスクリプト書いた

OSXのプレビューは、そのままだとPDFを中綴じ印刷出来ない(プリンター側が機能を提供していれば出来るらしい)。

中綴じ印刷のためだけに、別途ソフトを入れるのもアレなので、PDFをなんとかすることにした。

OSXのプレビューは、[印刷ダイアログ] > [レイアウト]から、

  • ページ数/枚(Pages per sheet): 2
  • レイアウト方向(Layout Direction): 左上 –> 右下
  • 両面(Two-Sided): 短辺とじ(Short-edged binding)

とすると、1枚あたり両面で4ページ印刷出来る。 ので、この設定で中綴じ印刷が出来るように、スクリプトでPDFのページを入れ替える。

スクリプトgithubに置いてある。

pypdf2を使っているので、インストールしてない場合は入れておく必要がある。

% pip install pypdf2


単一のスクリプトなので、スクリプトだけ落としてくればいい。

% curl https://raw.githubusercontent.com/mitsu-ksgr/pdf_saddle_stitcher_py/master/saddle_stitcher.py -O
% chmod 744 saddle_stitcher.py
% ./saddle_stitcher.py sample.pdf

とすると、中綴じ向けにページが入れ替えられたsample_saddlestich.pdfというファイルが生成される。 あとはこれをプレビューで開き、先の設定で印刷すればいい。

参考にさせて頂いたサイト:


PDF触るの初めてだったんだけど、PyPDF2がよく出来てて簡単にできた。

シンプルなAPIで使いやすくて、最初に書捨てたスクリプトは10分もかからず書けた。 (ページ数によっておかしくなる問題があったので、githubに上げるついでに修正・リファクタした)

python久しぶり過ぎてコロン付け忘れまくるなどあったけど、end書かなくて済むので良い