InkscapeコマンドラインでSVG処理

InkscapeコマンドラインでSVG処理
目次

以前、ImageMagickを使ったマルチアイコン作成方法を紹介しましたが、Inkscapeのコマンドラインオプションを紹介します。

SVGなどのベクターグラフィックスGUIソフトとして有名なInkscapeですが、CUIも用意されており、複数のSVGからサイズの違うPNGを出力するなどのバッチ処理を簡単に行うことができます。ImageMagickでもSVGを扱えますが、Inkscape固有の機能を使ったSVGの変換やPDF+LaTeX出力などはInkscapeを使わなければできません。

使用頻度が高いシナリオとしては、SVGから他形式へのエクスポートが考えられます。エクスポート関係のオプションでよく使いそうなものを上げてみました。

エクスポートする種類を指定

  • -e FILENAME, –export-png=FILENAME:PNGをエクスポート
  • -A FILENAME, –export-pdf=FILENAME:PDFをエクスポート
  • -E FILENAME, –export-eps=FILENAME:EPSをエクスポート
  • -l FILENAME, –export-plain-svg=FILENAME:Inkscape固有の記述を削除したSVGをエクスポート

エクスポートする際の大きさや背景色など

  • -b COLOR, –export-background=COLOR:背景色を指定
  • -d DPI, –export-dpi=DPI:DPIを指定(デフォルト90)
  • -w WIDTH, –export-width=WIDTH:幅(DPI指定を上書き)
  • -h HEIGHT, –export-height=HEIGHT:高さ(DPI指定を上書き)
  • -T, –export-text-to-path:テキストをパスへ変換(ラスター画像のみ)
  • –export-latex:テキスト情報をLaTeXとして書き出し

使用例

Windowsの場合はinkscape.exeへパスを通しておいてください。

600×400のPNGへ変換

$ inkscape filename.svg --export-png=filename.png -w600 -h400

テキストをパスに変換してPDFへ変換

$ inkscape filename.svg --export-pdf=filename.pdf --export-text-to-path

PDF+LaTeXへ変換

$ inkscape filename.svg --export-pdf=filename.pdf --export-latex

テキスト以外の図形情報を含むfilename.pdfとテキスト情報を含むfilename.pdf_texが生成されます。