InkspaceでベクタをWord添付に変換

未分類

pythonのmatplotlibで作成したグラフもsvgで出力保存し、同じ方法で綺麗にWordにグラフが貼れます。

PowerPointでフローチャートをつくっていたが、面倒な点が多くて、ツールを探していると便利なツールを見つけた。
Draw.io
無料で使え、Google Driveとも連携していている。
ただ標準では svg/pdf/png で出力しかできないため、Wordに挿入するときはpngで画像が荒くなってしまう。

emfに変換

Draw.io はベクタ形式で作っているので、Wordにも綺麗なベクタ形式で挿入したい。しかしsvgはWordに対応していない。
少し面倒だけど、Draw.io で作成したものを別のソフトでemfに変換して、挿入する。
使ったのは有名な無料のドローソフト inkspace

  • Draw.io で作成した図をexportからsvgで保存する。
  • inkspace で開いて「名前を付けて保存」で拡張子をemfとして保存
  • Word で図の挿入から貼り付け

文字を入れるとNot supporrted by viewer や改行等の文字コードが入ってしまう。
Draw.io のヘルプに解決策が載っていた。

  • プロパティのtext のFormatted Text optionのチェックを外す
  • プロパティのtext のWord Wrap optionのチェックを外す

参考
https://desk.draw.io/support/solutions/articles/16000042487-why-does-the-text-of-svg-export-sometimes-not-display-correctly-in-ie-and-some-svg-editors-

作り方によってはDraw.io 上と同じように開くことができないかもしれないが、一応はうまくいった。

フォルダ内のデータを一括変換のバッチファイル

たくさん作るといちいちinkspace開くのが面倒なので、バッチ処理で一気に変換。

 for %%A in (.\*.svg) do "C:\Program Files\Inkscape\inkscape.exe" -z -f %%A --export-emf %%A.emf 

同一フォルダ内のsvgを変換、名前は~.svg.emfとセンスがない作りなので注意。

 

No tags for this post.
タイトルとURLをコピーしました