.NET で PowerPoint プレゼンテーションを Markdown に変換

PowerPoint を Markdown に変換

  1. プレゼンテーション オブジェクトを表すために、Presentation クラスのインスタンスを作成します。
  2. オブジェクトを markdown ファイルとして保存するには、Save method を使用します。

この C# コードは PowerPoint を markdown に変換する方法を示しています:

using (Presentation pres = new Presentation("pres.pptx"))
{
    pres.Save("pres.md", SaveFormat.Md);
}

PowerPoint を Markdown フレーバーに変換

Aspose.Slides を使用すると、PowerPoint を markdown(基本構文を含む)、CommonMark、GitHub フレーバー markdown、Trello、XWiki、GitLab、その他 17 種類の markdown フレーバーに変換できます。

この C#コードは PowerPoint を CommonMark に変換する方法を示しています:

using (Presentation pres = new Presentation("pres.pptx"))
{
    pres.Save("pres.md", SaveFormat.Md, new MarkdownSaveOptions
    {
        Flavor = Flavor.CommonMark
    });
}

サポートされている 23 の markdown フレーバーは、MarkdownSaveOptions クラスの Flavor 列挙体 に一覧表示されています。

画像を含むプレゼンテーションを Markdown に変換

MarkdownSaveOptions クラスは、生成される markdown ファイルに対して特定のオプションや設定を使用できるプロパティと列挙体を提供します。たとえば、MarkdownExportType 列挙体は、画像のレンダリングまたは処理方法を決定する値(SequentialTextOnlyVisual)に設定できます。

画像を順次変換

画像を結果の markdown に個別に順番に表示したい場合は、Sequential オプションを選択する必要があります。この C# コードは、画像を含むプレゼンテーションを markdown に変換する方法を示しています:

using (Presentation pres = new Presentation("pres.pptx"))
{
    MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions
    {
        ShowHiddenSlides = true,
        ShowSlideNumber = true,
        Flavor = Flavor.Github,
        ExportType = MarkdownExportType.Sequential,
        NewLineType = NewLineType.Windows
    };
    
    pres.Save("doc.md", new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, SaveFormat.Md, markdownSaveOptions);
}

画像を視覚的に変換

結果の markdown に画像を一緒に表示したい場合は、Visual オプションを選択する必要があります。この場合、画像はアプリケーションの現在のディレクトリに保存され(markdown ドキュメントでは相対パスが生成されます)、または任意のパスとフォルダー名を指定することもできます。

この C# コードは操作を示しています:

using (Presentation pres = new Presentation("pres.pptx"))
{
    const string outPath = "c:\\documents";
    pres.Save(Path.Combine(outPath, "pres.md"), SaveFormat.Md, new MarkdownSaveOptions
    { 
        ExportType = MarkdownExportType.Visual,
        ImagesSaveFolderName = "md-images",
        BasePath = outPath
    });
}

FAQ

ハイパーリンクは Markdown へのエクスポートで保持されますか?

はい。テキストのハイパーリンクは標準的な Markdown リンクとして保持されます。スライドのトランジションアニメーションは変換されません。

マルチスレッドで実行して変換を高速化できますか?

ファイル単位で並列処理は可能ですが、スレッド間で同じPresentation インスタンスを共有しないようにしてください。ファイルごとに別々のインスタンスまたはプロセスを使用して競合を回避します。

画像はどう扱われますか?保存先はどこで、パスは相対ですか?

画像は専用のフォルダーにエクスポートされ、Markdown ファイルは既定で相対パスで参照します。ベース出力パスやアセットフォルダー名を設定して、予測可能なリポジトリ構造を維持できます。