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

Convert PowerPoint to Markdown

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

この Java コードは PowerPoint を Markdown に変換する方法を示しています。

Presentation pres = new Presentation("pres.pptx");
try {
    pres.save("pres.md", SaveFormat.Md);
} finally {
    if (pres != null) pres.dispose();
}

Convert PowerPoint to Markdown Flavor

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

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

Presentation pres = new Presentation("pres.pptx");
try {
    MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
    markdownSaveOptions.setFlavor(Flavor.CommonMark);
    pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) pres.dispose();
}

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

Convert a Presentation Containing Images to Markdown

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

Convert Images Sequentially

画像を 1 枚ずつ順番に Markdown に出力したい場合は、Sequential オプションを選択します。この Java コードは、画像を含むプレゼンテーションを Markdown に変換する方法を示しています。

Presentation pres = new Presentation("pres.pptx");
try {
    MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
    markdownSaveOptions.setShowHiddenSlides(true);
    markdownSaveOptions.setShowSlideNumber(true);
    markdownSaveOptions.setFlavor(Flavor.Github);
    markdownSaveOptions.setExportType(MarkdownExportType.Sequential);
    markdownSaveOptions.setNewLineType(NewLineType.Windows);
    pres.save("doc.md", new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) pres.dispose();
}

Convert Images Visually

画像を Markdown にまとめて出力したい場合は、Visual オプションを選択します。この場合、画像はアプリケーションの現在のディレクトリに保存され(Markdown 文書内では相対パスが作成されます)、または任意のパスとフォルダー名を指定することもできます。

この Java コードはその操作を実演しています。

Presentation pres = new Presentation("pres.pptx");
try {
    final String outPath = "c:/documents";
    MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
    markdownSaveOptions.setExportType(MarkdownExportType.Visual);
    markdownSaveOptions.setImagesSaveFolderName("md-images");
    markdownSaveOptions.setBasePath(outPath);
    pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Do hyperlinks survive the export to Markdown?

はい。テキストの hyperlinks は標準的な Markdown リンクとして保持されます。スライドの transitionsanimations は変換されません。

Can I speed up conversion by running it in multiple threads?

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

What happens to images—where are they saved, and are the paths relative?

Images は専用フォルダーにエクスポートされ、Markdown ファイルは既定で相対パスで参照します。ベース出力パスやアセット フォルダー名を設定すれば、リポジトリ構造を予測可能に保つことができます。