Java で PowerPoint スライドを PNG に変換

PowerPoint から PNG への変換について

PNG(Portable Network Graphics)形式は JPEG(Joint Photographic Experts Group)ほど一般的ではありませんが、依然として非常に人気があります。

使用例: 複雑な画像でサイズが問題とならない場合、PNG は JPEG よりも優れた画像形式です。

PowerPoint を PNG に変換

以下の手順を実行してください:

  1. Presentation クラスのインスタンスを作成します。
  2. Presentation.getSlides() コレクションから ISlide インターフェイスのスライドオブジェクトを取得します。
  3. ISlide.getImage() メソッドを使用して各スライドのサムネイルを取得します。
  4. [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/java/com.aspose.slides/IImage#save(String formatName, int imageFormat)) メソッドを使用してスライドのサムネイルを PNG 形式で保存します。

この Java コードは PowerPoint プレゼンテーションを PNG に変換する方法を示しています:

Presentation pres = new Presentation("pres.pptx");
try {
    for (int index = 0; index < pres.getSlides().size(); index++)
    {
        ISlide slide = pres.getSlides().get_Item(index);
        IImage slideImage = slide.getImage();
        try {
              slideImage.save("image_java_" + index + ".png", ImageFormat.Png);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

カスタム寸法で PowerPoint を PNG に変換

desiredXdesiredY の値を設定すると、特定のスケールに合わせた PNG ファイルを取得でき、これらは生成されるサムネイルの寸法を決定します。

この Java コードは上記の操作を示しています:

Presentation pres = new Presentation("pres.pptx");
try {
    float scaleX = 2f;
    float scaleY = 2f;
    for (int index = 0; index < pres.getSlides().size(); index++)
    {
        ISlide slide = pres.getSlides().get_Item(index);
        IImage slideImage = slide.getImage(scaleX, scaleY);
        try {
              slideImage.save("image_java_" + index + ".png", ImageFormat.Png);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

カスタムサイズで PowerPoint を PNG に変換

ImageSize に対して希望する widthheight 引数を渡すことで、特定のサイズの PNG ファイルを取得できます。

このコードは画像のサイズを指定して PowerPoint を PNG に変換する方法を示しています:

Presentation pres = new Presentation("pres.pptx");
try {
    Dimension size = new Dimension(960, 720);
    for (int index = 0; index < pres.getSlides().size(); index++)
    {
        ISlide slide = pres.getSlides().get_Item(index);
        IImage slideImage = slide.getImage(size);
        try {
              slideImage.save("image_java_" + index + ".png", ImageFormat.Png);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

スライド全体ではなく、特定の形状(例:チャートや画像)だけをエクスポートするにはどうすればよいですか?
Aspose.Slides は 個別の形状のサムネイル生成 をサポートしており、形状を PNG 画像としてレンダリングできます。

サーバー上での並列変換はサポートされていますか?
はい、サポートされていますが、スレッド間で単一のプレゼンテーション インスタンスを 共有しない でください。各スレッドまたはプロセスごとに別々のインスタンスを使用してください。

PNG へのエクスポート時の評価版の制限は何ですか?
評価モードでは出力画像に透かしが追加され、ライセンスが適用されるまで その他の制限 が適用されます。