PS/EPS/PDF を SVG に変換する

gs -h と打ち込んでボーっとヘルプを眺めていると気になる文字列がありました.

Ghostscript のチュートリアルページでは見つけられませんでしたが,どうやら Ghostscript は SVG 用のデバイスも持っているようです.したがって,Ghostscript を使って PS/EPS/PDF から SVG へ変換する事ができます.取りあえず以下のようにコマンドを叩いて変換してみました.

$ gswin32c -dBATCH -dNOPAUSE -dSAFER -sDEVICE=svg -sOutputFile=tiger.svg tiger.eps 

生成されたファイルは http://cielquis.net/trash/tiger.svg になります.確かに SVG へ変換できているようです.

ただし,Ghostscript では複数のページが存在するファイル (*.ps, *.eps, *.pdf) を入力ファイルとして指定された場合,1ファイルの(複数ページの) SVG ファイルを生成してしまうようです.PNGJPEG 用のデバイスを使った場合だと output-%d.png のようなファイル名にしておけば 1ページ1ファイルで生成してくれるのですが,SVG ではこの指定は効かないようです.したがって,1ページ1ファイルにするには以下のような形で1ページずつファイルを生成していく必要があります.

$ gswin32c -dBATCH -dNOPAUSE -dSAFER -sDEVICE=svg -sOutputFile=output.svg -dFirstPage=N -dLastPage=N input.ps

※何度かやってみたところ,FirstPage と LastPage の指定が効いていない気がするのですが,なんだろう・・・どこか指定ミスってるのかな.