これを試すことができます:
Powerpoint シェイプから WMF へ
Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.Application();
var pps = app.Presentations;
string d ="filepath.pptx";
Presentation ppt = pps.Open(d, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
for (int j = 1; j < ppt.Slides.Count; j++)
{
Slide sld = ppt.Slides[j];
List<Microsoft.Office.Interop.PowerPoint.Shape> shapes = new List<Microsoft.Office.Interop.PowerPoint.Shape>();
for (int k = 1; k < sld.Shapes.Count; k++)
{
Microsoft.Office.Interop.PowerPoint.Shape shape = sld.Shapes[k];
shape.Export("outputFilePath.wmf", PpShapeFormat.ppShapeFormatWMF);
}
}
次に、WMF から XAML へ: Microsoft フォーラム:
1) http://www.wpf-graphics.com/ReaderWmf.aspxをチェックしてください。これは関連プロジェクトhttp://www.wpf-graphics.com/Paste2Xaml.aspxです。これらは、WPF 用の EMF/WMF リーダーです。画像を読み込んで再度書き戻す単純なユーティリティを作成します。私は彼らと少し遊んだことがありますが、彼らとはかなり幸運でした。彼らがあなたのために働くなら、これが私の最初の選択です. もちろん、それらをテストする必要があります。このような変換は、さまざまな形式の設計の違いにより完全ではないため、コンバーターでサポートされていないものを使用していないことを確認してください.
2) 私が遭遇した別のプロジェクトはhttp://lab.aspitalia.com/15/EmfToXaml-Beta.aspxでした。私はそれで遊んだことはありませんが、あなたはそれを見てみるかもしれません.
3) 直接ルートが機能しない場合は、WMF ファイルを SVG などの別のベクター形式に変換してから、その SVG ファイルを XAML に変換することを検討してください。EMF/WMF から SVG への変換用のツールはたくさんあります。SVG から XAML への変換については、http://www.codeplex.com/XamlTuneおよびhttp://www.wpf-graphics.com/ReaderSvg.aspxを参照してください。これが直接変換と同様に機能するとは思えませんが、わかりません。
PowerPoint アドインについて、および上記の例を実行するには、Microsoft Office Interop ライブラリが必要です。