命名って難しい

変数、関数、クラスなどなど実装より命名に毎回悩むタイプの人間による技術についてのメモ。

【2021/06版】Inkscapeを使いコマンドラインでSVGをPNGに変換してPowerPointに貼り付けたよ

Microsoftが公開しているAzureのアイコン画像集があります。

docs.microsoft.com

しかし、これはSVGなので弊社の利用しているPowerPoint2013では開けません。 今回、そのSVGPNGに変換してPowerPointに貼り付けるまでの流れを記事にします。

SVGPNG

Inkscapeのインストール

Inkscapeをダウンロードしてインストールします。 inkscape.org

私の試したバージョンは1.1, Released on May 24, 2021です。

f:id:NotShown:20210628094739p:plain
インストーラーのダウンロード

Inkscapeコマンドライン実行で変換を行う。

Inkscapeコマンドラインから変換を行うことができます。 Inkscape.com がコマンドライン用のバイナリです。

以下のようなコマンドで変換処理を行うことができます。

cd C:\Program Files\Inkscape\bin
inkscape.com --export-type="png" --export-width="1024" "変換対象.svg"

コマンドライン引数は以下を指定しています。

  • --export-type="png" : PNG出力
  • --export-width="1024" : 出力時の幅

参考

wiki.inkscape.org

なお、出力先はSVGと同じフォルダ になります。注意して下さい。

PowerPointに貼り付ける

このままドラッグアンドドロップで~と試したら 画質が非常に粗くなる という問題点が出てきました。

f:id:NotShown:20210628095341p:plain
アイコンの画質が粗くなる

変換していない既存のPNGと比べてサイズも同じだし何故だろうと色々調べたところ、 PowerPointの画像圧縮が原因でした。

オプションから ファイル内のイメージを圧縮しない(N) にチェックを入れましょう

f:id:NotShown:20210628095505p:plain
オプション画面

チェックを入れた後に同じPNGを貼り付けました。これで想定どおりの利用ができるようになりました。

f:id:NotShown:20210628095645p:plain
イメージ圧縮有無比較

変換をしていない既存のPNGは圧縮していてもキレイに利用できるので何故変換したものがこうなるのかの原因は分かりませんが、画質が粗くなる問題点の解決はできました。

以上です。