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分割、結合ツールなんかはサクッと作れちゃいますね。
コメント