はじめに
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 で図の挿入から貼り付け
Draw.io でテキストを入れると上手く変換できない
文字を入れるとNot supporrted by viewer や改行等の文字コードが入ってしまう。
Draw.io のヘルプに解決策が載っていた。
- プロパティのtext のFormatted Text optionのチェックを外す
- プロパティのtext のWord Wrap optionのチェックを外す
作り方によってはDraw.io 上と同じように開くことができないかもしれないが、一応はうまくいった。
フォルダ内のデータを一括変換のバッチファイル
たくさん作るといちいちinkspace開くのが面倒なので、バッチ処理で一気に変換。
for %%A in (.\*.svg) do "C:\Program Files\Inkscape\inkscape.exe" -z -f %%A --export-emf %%A.emf
同一フォルダ内のsvgを変換、名前は~.svg.emfとセンスがない作りなので注意。
ちなみにpythonのmatplotlibで作成したグラフもsvgで出力保存し、同じ方法で綺麗にWordにグラフが貼れます。
まとめ
Draw.io で作成した図を inkspace を介することでWordにベクタ形式ではれます。
同じ手法でmatplotlibのグラフもWordにはれます。