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

PowerPoint を 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();
}

PowerPoint を Markdown フレーバーに変換

Aspose.Slides を使用すると、PowerPoint を markdown(基本構文を含む)、CommonMark、GitHub フレーバーの 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 フレーバーは、listed under the Flavor enumeration と、MarkdownSaveOptions クラスから確認できます。

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

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

画像を順次変換

結果の 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();
}

画像を視覚的に変換

結果の 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();
}

よくある質問

ハイパーリンクは Markdown へのエクスポート後も残りますか?

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

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

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

画像はどうなりますか—保存場所はどこで、パスは相対ですか?

Imagesは専用のフォルダーにエクスポートされます。ベース出力パスとアセットフォルダー名を構成することで、予測可能なリポジトリ構造を維持できます。