pdftkを使って両面印刷する
κeenです。 大きめ(130P程度)のPDFを印刷する用事があり、両面印刷したくなったのでそのときのメモ。
高めのプリンタだと両面印刷の機能があることもありますし、プリンタドライバが優秀なら偶数ページのみ印刷や奇数ページのみ印刷のオプションがあって両面印刷できることもあります。今回はその両方ともが使えなかったときのお話。
方針としては奇数ページを印刷、偶数ページを印刷の順番に行えればどうにか両面にできるのでそうします。つまり、奇数ページのみを集めたPDFファイル、偶数ページのみを集めたPDFファイルを作ります。
まずはpdftkでページを1枚1枚バラします。pdftk自体は apt install pdftk
とかでインストールしておいて下さい。
$ pdftk file.pdf burst
するとカレントディレクトリに pg_0001.pdf
、 pg_0002.pdf
、 …とページ数分のPDFファイルが展開されます。これを奇数ページだけ、偶数ページだけ拾っていきます。
$ pdftk $(ls pg_* | sort | xargs -n2 echo | cut -d\ -f1 ) cat output odd.pdf
$ pdftk $(ls pg_* | sort | xargs -n2 echo | cut -d\ -f2 ) cat output even.pdf
これで作業終わりです。
あとは
odd.pdf
を印刷- 紙束の表裏を返す(紙束を左右に180°回す)
even.pdf
を印刷
の流れで両面に印刷できます。印刷はEvinceかFirefoxで適当にやって下さい。 普通のプリンタならページ番号が若い方が下になるように印刷されていくので、奇数ページを印刷したあとにそのまま左右に返してセットしなおせば1pの裏に2p、3pの裏に4pが印刷されます。製本っぽいことしたいなら端に水糊を塗ってティッシュペーパをくっつけるとそれっぽくまとまるのであとはガムテープとかで保護してあげて下さい。
製本している pic.twitter.com/D6ZL36eiwX
— κeen (@blackenedgold) January 12, 2020
pdftkにこういう($k \mod N$ ページ毎にファイルに振り分ける)機能あってもいいと思うんですけどねー。
という訳で小ネタでした