hack のためのネタ帳, etc,,,

PDF の結合・分割・割付ツール
実体は bash script による pdflatex, pdfpage のフロントエンド。
動作が恐ろしく軽いので Microsoft Office 2007 以降で追加された標準の PDF 出力機能と組合わせて使うと凄く快適。

公式ページ等

Install

texlive-extra-utils パッケージに入っている模様。
18.04 同様 texlive-extra-utils パッケージに入っている模様。
WSL2 Ubuntu の初期状態から
172 newly installed
Need to get 141 MB of archives.
After this operation, 402 MB of additional disk space will be used.
とかなるの地味に辛いけど
WSL2 上の Ubuntu で from here して直に作業できるのは地味に便利かも。

あと pdfnup がなくなっててるので、代わりに pdfjam を使う必要があるが、以下の pdfnup のコマンドラインパラメータはそのままで使えた。

Tips

8up

pdfnup --scale 0.96 --nup 2x4 --frame true --delta "1mm 1mm" src.pdf --outfile dst.pdf
scale で縮小することで外周の余白を確保
nup で2列4行の8upに
frame でページの枠を描画
delta でページ間に余白を確保(外周には影響しない)

特定ページの切り出しや並べ替え

pdfnup --nup 1x1 --pages $PAGES src.pdf --output dst.pdf
$PAGES 部分に出力するページの順序を列挙する。
列挙方法は、例えば "3-6", "2,8,4,5" のように記述すれば良い。

PDFファイルの結合

pdfjoin --outfile dst.pdf file1.pdf file2.pdf ...
... の部分に必要に応じてファイルを列挙する

ただし、pdfjam だと用紙サイズと向きが統一されてしまう。
単純に元の用紙サイズと向きを維持したまま結合したいのであれば pdftk を用いて以下のようにした方が良い。
pdftk file1.pdf file2.pdf cat output dst.pdf

用紙に合うように拡縮

pdfjoin --paper a4paper --orient landscape --fitpaper false src.pdf --outfile dst.pdf
paper で出力用紙サイズを指定。
orient で出力用紙の向きを指定。縦ならportrait、横ならlandscapeに。autoにすると向きがうまく合わない場合がある。
fitpaper が true だと、出力用紙サイズが入力の用紙サイズに fit されてしまうので false に。

PowerPoint のファイルを 8up して表紙と中表紙を付ける (2012-10-10)

なんかバージョン上がって微妙にオプションとか挙動とか変わってる気がするんだが
Ubuntu 12.04.1 の pdfjam 2.05-2 で動作を確認
pdfnup --scale 0.96 --nup 2x4 --frame true --delta "1mm 1mm" --no-landscape src.pdf --outfile src.8up.pdf
pdfjoin --outfile dst.pdf --no-landscape --rotateoversize false title.pdf A4_blank.pdf src.8up.pdf

追記: 2015-12-10
どうも -no-landscape よりも --rotateoversize false の方が有効なんじゃないかって気がしてきた

参考:

関連

タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

編集にはIDが必要です