InkscapeにはGUIを起動せずにファイルを処理するためのコマンドラインオプションがあります。
Windowsでの環境設定
Windows版のInkscape (inkscape.exe) にはコンソールへの出力機能がないため、コマンドラインで利用するためにラッパーの inkscape.com が同梱されています。以前のバージョンではコマンドラインで利用するためにはコンソール版のInkscapeを自分でコンパイルする必要がありましたが、現在はその必要はありません。
Windows上でコマンドラインで利用するには、システム環境変数にInkscapeのpathを追加する必要があります。システム環境変数の設定方法はWindowsのバージョンによって若干異なります。Windows 7の場合、次のように設定します。
- スタートメニューの「プログラムとファイルの検索」に「システム環境」と入力し、「システム環境変数の編集」を起動。
- 「環境変数」ボタンをクリック。
- 「システム環境変数」の中の「Path」を選択して「編集」ボタンをクリック。
- 行末に「;C:\Program Files\Inkscape」を追加し、「OK」ボタンをクリック。(pathはInkscapeをインストールした場所に応じて置き換えてください。)
- 「OK」ボタンをクリックして「環境変数」ダイアログを閉じる。
コマンドライン引数
とんどコマンドラインオプションは、省略形と長いオプション名のいずれでも指定できます。下記では、カンマで区切って最初に省略形、次に長い名前でオプションを示します。
- -?, –help
-
ヘルプを表示します。
- -V, –version
-
Inkscapeのバージョンと、ビルドされた日付を表示します。
- -a x0:y0:x1:y1, –export-area=x0:y0:x1:y1
-
PNGファイルへのエクスポートで、エクスポートする範囲をSVGのユーザ指定単位で指定します。デフォルトではキャンバス全体をエクスポートします。(0,0) は左下の端を意味します。
- -C, –export-area-canvas
-
PNGファイルへのエクスポートで、キャンバス(ページ)全体をエクスポートします。この動作はデフォルトのため、通常はこのオプションを指定する必要はありません。
- -D, –export-area-drawing
-
PNGファイルへのエクスポートで、(キャンバスではなく)描画全体をエクスポートします。つまり、ファイル内の全オブジェクトを指定してエクスポートするのと同じ動作をします。このオプションを使ったとき、マージンやトリミングは一切考慮せず、Inkscapeの画面上に表示されるすべてのオブジェジェクトのイメージをそのままの形でエクスポートします。–export-use-hints と一緒に使用できます。
- –export-area-snap
-
エクスポートする領域を、SVGユーザ単位の整数値に一番近い外側の場所にスナップします。デフォルトのエクスポート解像度の90dpiを使っていて、アンチエイリアスを最小化するために画像をピクセルにスナップしている場合、このオプションを指定すれば、(–export-id や –export-area-drawingで指定した)エクスポートしたいオブジェクトの境界がピクセル境界でない場合にも、ピクセル境界の画像としてエクスポートできます。
- -b COLOR, –export-background=COLOR
-
エクスポートするPNGファイルの背景色を指定します。色の指定形式は、SVGがサポートしている形式であればどの形式でも指定できます。たとえば、#ff007f と指定してもrgb(255,0,128) と指定しても、どちらでもかまいません。背景色が指定されていない場合、「ドキュメントの設定」で定義された背景色が使用されます。
- -d DPI, –export-dpi=DPI
-
ビットマップファイルへのエクスポートに使う解像度を指定します。初期値は90です。SVGで使うpxという単位は「ユーザ単位」とも呼ばれ、1pxはビットマップファイルの1ピクセルに相当します。–export-use-hints と共に指定した場合、このオプションで指定した値は –export-use-hintsで指定されたDPI値を上書きします。
- -e FILENAME, –export-png=FILENAME
-
エクスポート先のPNGファイル名を指定します。もし同名のファイルが既に存在していた場合には、確認プロンプトを出さずに上書きします。
- -f FILENAME, –file=FILENAME
-
指定されたドキュメント(複数指定可)を開きます。
- -g, –with-gui
-
GUIで起動します (UNIXでは $DISPLAY が設定されていなくてもXサーバを使います)。
- -h HEIGHT, –export-height=HEIGHT
-
生成されるビットマップファイルの高さをピクセル数で指定します。ここで指定した値は –export-dpi で指定した値(または –export-use-hints で指定したDPI)を上書きします。
- -i ID, –export-id=ID
-
ドキュメントからエクスポートしたいオブジェクトのID属性の値を指定します。特に指定しない場合、エクスポートされるのは指定されたオブジェクトの境界線内の画像となります。この動作は、–export-area、–export-area-canvas、または –export-area-drawingオプションで変更できます。
- -j, –export-id-only
-
–export-id で指定されたIDのオブジェクトのみエクスポートします。他のオブジェクトと重なっている場合にも、重なった他のオブジェクトは隠されたものとして扱い、エクスポートには含みません。–export-id が指定されていない場合、このオプションは無視されます。
- -l, –export-plain-svg=FILENAME
-
ドキュメントを標準SVG形式にエクスポートします。つまり、sodipodi: や inkscape:の名前空間やRDFメタデータを使わないSVGファイルを生成します。
- -l, –extension-directory
-
Inkscapeで使用するよう現在設定されているextensionディレクトリを表示し、終了します。このオプションは、外部のextensionをInkscapeと同じ設定で動作させるために利用されます。
- -p PRINTER, –print=PRINTER
-
ドキュメントを `lpr -P PRINTER’ を使って指定されたプリンタに印刷します。プリンタに出力する代わりに `|COMMAND’ で別のコマンドにパイプしたり、`>FILENAME’でPostScript出力をファイルに保存したりすることもできます。オプション指定時には必要に応じて引用符を適切に使用してください。たとえば、次のように指定します。
inkscape --print='| ps2pdf - mydoc.pdf'mydoc.svg
- -s, –slideshow
-
指定されたファイルをひとつずつ順番に表示します。表示の切替えはキー入力またはマウスから指定します。
- -t, –export-use-hints
-
エクスポートするオブジェクト内に保持された値を参考にした、ファイル名やDPIを決定します。–export-idと共に使用した場合にのみ有効です。参考にする情報は、Inscapeでエクスポートを行うと自動的に設定されます。たとえば、InkscapeのGUIを使ってpath231というIDのシェイプを /home/me/shape.png に 300dpiでエクスポートし、そのドキュメントを保存した場合、後でそのシェイプを同じファイル名で同じ解像度でエクスポートするには、次のようにコマンド実行すれば良いことになります。
inkscape -i path231 -tdocument.svg
ただし、–export-dpi、–export-width、または–export-heightと共に使った場合には参考情報のDPIは無視され、コマンドラインから指定された値が使われます。–export-png オプションと共に使った場合には、参考情報のファイル名は無視され、コマンドラインから指定された値が使われます。
- -w WIDTH, –export-width=WIDTH
-
生成されるビットマップファイルの高さをピクセル数で指定します。ここで指定した値は –export-dpi で指定した値(または –export-use-hints で指定したDPI)を上書きします。
- -y VALUE, –export-background-opacity=VALUE
-
PNGにエクスポートする際、背景の透明度を0.0〜1.0 (0.0で完全に透明、1.0で完全に不透明)、または1〜255(255で完全に不透明)の間の数字で指定します。このオプションが指定されず、-b オプションも指定されていない場合、ページの不透明度はInkscapeの「ドキュメントの設定」で指定された値 (sodipodi:nameview のinkscape:pageopacity=属性として格納された値) が適用されます。このオプションを指定せずに -bオプションを指定した場合には、255(完全不透明)が指定され
たものとして動作します。 - -P FILENAME, –export-ps=FILENAME
-
ドキュメントをPostScript形式にエクスポートします。PostScriptでは透明度をサポートしていないため、SVGで定義された透明度は失われるので注意してください。このオプションは –export-bbox-page や–export-text-to-path と共に使用することができます。
- -E FILENAME, –export-eps=FILENAME
-
ドキュメントをカプセル化PostScript (EPS) 形式にエクスポートします。PostScriptでは透明度をサポートしていないため、SVGで定義された透明度は失われるので注意してください。このオプションは–export-bbox-page や –export-text-to-path と共に使用することができます。
- -A FILENAME, –export-pdf=FILENAME
-
ドキュメントをPDF 1.4形式にエクスポートします。このフォーマットは、元のSVGファイルに定義された不透明度を保持します。ただし、PDFビューアによっては不透明度をきちんと表示できないものもあります。このオプションは–export-text-to-path と共に使うことができます(現在のところテキストをテキストとしてエクスポートする機能は未サポートのため、このオプションは必須です)。
- -T, –export-text-to-path
-
エクスポート時に、可能な限りテキストをパスに変換します。現在のところ、PS、EPS、PDFへのエクスポート時に有効です。
- -B, –export-bbox-page
-
可能であれば、ページ全体を境界としてエクスポートします。現在のところ、PS/EPSファイルへのエクスポート時に有効です。
- -F, –export-embed-fonts
-
PS/EPSファイルにエクスポートする際に、フォントを埋め込みます。埋め込めるフォントはTrueTypeフォントではなく、Type 1フォントのみです。
- -I, –query-id
-
座標やサイズを表示させる際、情報を表示させるオブジェクトをIDで指定します。指定されない場合には、描画全体を対象とした情報を表示します。
- -X, –query-x
-
描画全体のX座標、または –query-id と共に指定された場合には指定されたオブジェクトのX座標を表示します。単位はpxです。
- -Y, –query-y
-
描画全体のY座標、または –query-id と共に指定された場合には指定されたオブジェクトのY座標を表示します。単位はpxです。
- -W, –query-width
-
描画全体の幅、または –query-id と共に指定された場合には指定されたオブジェクトの幅を表示します。単位はpxです。
- -H, –query-height
-
描画全体の高さ、または –query-id と共に指定された場合には指定されたオブジェクトの高さを表示します。単位はpxです。
- –vacuum-defs
-
SVGファイルから使われていないすべての <defs> セクションを削除します。–export-plain-svg と一緒に使われた場合、エクスポートされた方のファイルだけが対象となり、元のファイルは変更されません。このオプションだけが指定された場合、指定されたファイルは更新して置き換えられます。
- -z, –without-gui
-
GUIを利用せず(UnixではXサーバを使わず)、コンソールでファイルを処理します。このオプションは、-p, -e,-l, –vacuum-defs のために用意されたオプションです。
- –g-fatal-warnings
-
GTKの標準的なオプションのひとつです。このオプションを指定すると、GTKのwarningが出たときにただちにInkscapeを異常終了させます。Inkscapeのデバッグのために使われます。
- –usage
-
簡単なヘルプ(オプション一覧)を表示します。
コマンドラインでの使用例
印刷
SVGファイルを印刷するには、次のようにします。
inkscape filename.svg -p '| lpr'
エクスポート
SVGファイルをデフォルト解像度の90dpiでPNGにエクスポートするには、次のようにします。
inkscape filename.svg --export-png=filename.png
同様に、600×400ピクセルのPNGファイルとしてエクスポートするには、次のようにします。
inkscape filename.svg --export-png=filename.png -w600 -h400
同様に、ページではなく描画全体をエクスポートするには、次のようにします。
inkscape filename.svg --export-png=filename.png --export-area-drawing
id=text1555のオブジェクトをPNGにエクスポートし、ファイル名と解像度は前回GUIからエクスポートしたときに指定したものを使用するには、次のようにします。
inkscape filename.svg --export-id=text1555 --export-use-hints
同様に、解像度を90dpiとし、ファイル名を指定し、エクスポートするエリアのサイズをSVGユーザ単位に合わせて調整してエクスポートするには、次のようにします。
inkscape filename.svg --export-id=text1555 --export-png=text.png --export-snap-area
ファイル変換
Inkscape SVGドキュメントを標準SVGに変換するには、次のようにします。
inkscape filename1.svg --export-plain-svg=filename2.svg
SVGドキュメントをEPSに変換し、テキストをすべてパスに変換するには、次のようにします。
inkscape filename.svg --export-eps=filename.eps --export-text-to-path
id=text1555のオブジェクトを検索するには、次のようにします。
inkscape filename.svg --query-width --query-id text1555