PDFを連結する gsコマンド linux 分割も Acrobatは使わない

gsコマンド(ghost script)、実はすごく便利ですよね。
というわけで自分用のメモとして。

スポンサーリンク

gs -q -sDEVICE=pdfwriteで結合できる

複数のPDFを1つにまとめるには下記コマンドでできます。
merge.pdfが結合されたPDFファイル、in1,in2..をスペース分けで結合するファイルです。

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merge.pdf in1.pdf in2.pdf in3.pdf

gs -o test_%03d.pdf -sDEVICE=pdfwrite in.pdf で分割

in.pdfが複数ページのPDF、test_001.pdf test_002.pdf … というようにファイルができる

gs -o test_%03d.pdf -sDEVICE=pdfwrite in.pdf

gs -q -dNODISPLAY -c ‘(in.pdf) (r) file roundfbegin pdfpagecount = quit’ でin.pdfのページ数を取得

in.pdfのページ数がわかります。

phpで呼び出すにはexec()を使いました

自分はPHPをよく使うので、gs呼ぶにはexecを使います。

// cmdに文字列を
$cmd = 'gs -o test_%03d.pdf ...';
$ret = exec($cmd, $out, $vars)
//それぞれのコマンドに合わせた処理を書く

PDF分割、結合ツールなんかはサクッと作れちゃいますね。

コメント

タイトルとURLをコピーしました