shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【PowerPoint】SVGエクスポートしたときの仕様

PowerPointには、図やスライドをSVG(スケーラブル ベクター グラフィックス形式)として保存する機能があります。

今回は、どの要素がベクター要素として出力できるのか確認した備忘録です。

内容

確認のPowerPointは「Microsoft® PowerPoint® for Microsoft 365 MSO」(バージョン2603)です。

検証した前提条件

  • PowerPointのスライドに、各要素(表、グラフ、SmartArt、画像)を配置します。
  • その後、「エクスポート(もしくは名前を付けて保存)」からファイルの種類を「スケーラブル ベクター グラフィックス形式(*svg)」として保存します。

PowerPointのスライドに表、グラフ、SmartArt、画像のサンプルを配置

PowerPointのスライド表、グラフ、SmartArt、画像を配置

SVGに変換できた要素

以下の要素は問題なく変換できました。

  • PowerPointで作成したグラフ
  • SmartArt
  • 図形、テキスト

SVG上では、

<path>
<rect>
<text>

といったベクター要素として出力されます。後編集もしやすい状態で出力できました。

(参考)出力状況の確認結果

検証用スライドをSVGに変換後、確認のため再度PowerPointに挿入し、図形変換を行った結果が以下です。図形のパスが多い箇所は、SVG形式に変更できていた箇所です。
※この変換は確認目的のみで、実務上の意味はありません。

画像を除き、SVG形式が図形に変更され、編集できる状態になっていることが確認できる

SVGの図形変換後

上記処理の方法は、【PowerPoint】SVG形式のファイルを図形に変換する方法と活用メリット - shikumika’s diary で紹介しています。

変換できなかった要素:画像

画像(JPEG画像、PNG画像)は挙動が異なります。これらは、ベクター化されません。
これらは、SVGないで次の形式になります。

href="data:image/jpeg;base64,......"

これは外部参照ではありません。画像の中身をbase64形式で文字列化し、SVGファイル内に直接埋め込んでいる状態です。画像データがそのまま入っています。

Excelで作成したグラフをPowerPointに挿入した場合

PowerPointでは、Excelで作成したグラフを貼り付けて使うことも多いです。

前述のとおり、PowerPointで作成したグラフはベクター形式に変換できましたが、Excelから貼り付けした場合の挙動を確認しました。

検証した貼り付け方法(6種類)

Excelで作成したグラフについて、PowerPointのスライドに次の形式で挿入しました。

  • Microsoft Excel グラフオブジェクト
  • Microsoft Office グラフィックオブジェクト

  • 画像(SVG)

  • 図(PMG)

  • 図(JPEG)
  • 図(拡張メタファイル)

Microsoft Excel グラフオブジェクト、Microsoft Office グラフィックオブジェクト、画像(SVG)など6種類のサンプル

ExcelからPowerPointにグラフの貼り付け
ベクター形式で出力できたもの ✅

PowerPointからSVGエクスポートしたとき、ベクター要素として保持されたのは次の2つです。

  • Microsoft Office グラフィック オブジェクト
  • 画像(SVG)

これらは、<path> や <text> に分解されました。その他は、ベクター分解はされず、画像として埋め込まれていました

(参考)出力状況の確認結果

前述と同様に、SVG変換後のファイルを再度PowerPointに挿入し、図形変換して確認しました。図形のパスが多い箇所は、SVG形式に変更できていた箇所です。

再度SVGファイルを図形に変換処理した結果

SVGの図形変換後

まとめ

今回の確認結果は次のとおりです。

  • 表・SmartArt・図形・テキスト → ベクター形式で出力される
  • PowerPointで作成したグラフ → ベクター形式で出力される
  • Excelグラフ・画像→ base64画像として埋め込まれる

以上、PowerPointでSVGエクスポートしたときの仕様を確認した結果でした。