何回か紹介してきた,Ghostscriptですが,
今回も再度、その続編です。
Ghostscriptのマニュアル等では,以前紹介した
- JPEG
- PNG
- PNM
- TIFF
- BMP
といった,ラスタ画像しかサポートしていないように見受けられますが,
実は,Ghostscriptは,SVG出力ができるようです.(最近気づきました)
- 《 Ghostscriptヘルプのサポートデバイスを"svg"で検索》
-
> gs -h | grep svg st800 stcolor sunhmono svg t4693d2 t4693d4 t4693d8 tek4696 tiff12nc >
ですから,前回のJPEG生成の時のように,
- 《 GhostscriptコマンドラインでPDFファイルからSVGファイルを生成》
-
> gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=svg -sOutputFile=gsSvgTest.svg gsSvgTest.pdf
とするとで,SVGの出力を得ることができます.
しかし,まだ開発途上のようで,複数ページPDFの場合に,
JPEG等の場合のようにページ毎の画像ファイル生成ができません.
- 《 Ghostscriptコマンドラインで複数ページのPDFファイルから,ページ毎のJPEGファイルを生成》
-
> ls > gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=jpeg -sOutputFile=Test-%d.jpg Test.pdf > ls Test-1.jpg Test-2.jpg >
- 《 Ghostscriptコマンドラインで複数ページのPDFファイルから,ページ毎のSVGファイル生成を試みるも失敗》
-
> ls > gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=svg -sOutputFile=Test-%d.svg Test.pdf > ls Test-1.svg >
ですから,この場合,
- 《 Ghostscriptコマンドラインで複数ページのPDFファイルから,ページ毎のSVGファイル生成する方法》
-
> ls > gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=svg -dFirstPage=1 -sOutputFile=Test-1.svg Test.pdf > ls TestResult-1.svg > gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=svg -dFirstPage=2 -sOutputFile=Test-2.svg Test.pdf > ls Test-1.svg Test-2.svg
のように,ページ毎にSVG画像を生成するように指定してあげなければいけません.
SVGへの対応は,Ghostscript 8.xの辺りから対応したようなので,
もう少し,育つのを待つ必要があるのかもしれません.