@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

OS XでSVGをpngに変換する

Inkscapeを入れていないので、QuickLookを選択した。 そもそもはjs-sequence-diagrams by brampで吐き出したSVGを非対応のドキュメントに貼り付けたかった。

oneliner

コマンドつないだだけだけど。

qlmanage -t -s 2000 -o . generated.svg && convert generated.svg.png -trim generated.png && open generated.png

generated.svggenerated.pngに変換する(幅2000pxに出力して、余白部分を消してPreview.appで開く)

ImageMagickが入っていなければconvertの部分を消せば余白は残るがpngには変換できる。Preview.appで選択して切り取れば良い。

Referenced Links

  • 変換する部分

superuser.com

  • 余白をトリムする部分

askubuntu.com

その他候補

  • svgexport

PhantomJSのSVGレンダリングを使って変換する。

余白をトリムしてくれるが、矢印のレンダリングができていなかった。

github.com

% npm install -g svgexport
% svgexport generated.svg generated.png 2000: "svg{background:white;}" ;open generated.png

試したが、日本語が含まれているとフォントが足りなさそう

% convert generated.svg generated.png
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1152.
convert: non-conforming drawing primitive definition `,' @ error/draw.c/DrawImage/3169.