Android で PowerPoint スライドを PNG に変換
概要
この記事では、Aspose.Slides for Android を Java 経由で使用してプレゼンテーションスライドを PNG 画像に変換する方法を説明します。PPT、PPTX、ODP などの形式のプレゼンテーションを読み込み、各スライドをレンダリングし、個別の PNG 画像として保存できます。
以下の例では、既定のスケールでのレンダリング、スケールの拡大、ピクセル単位で出力サイズを指定する方法、そしてグラデーションレンダリングスタイルの選択を示します。
PowerPoint を PNG に変換
プレゼンテーションは Presentation クラスでロードし、Presentation.getSlides コレクションを介してスライドにアクセスします。この例では、パラメーターなしで ISlide.getImage を使用して各スライドをサムネイルとしてレンダリングします。その後、IImage.save に ImageFormat.Png を指定して、レンダリングされた各スライドを PNG 画像として保存します。
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage();
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Note
パラメーターなしの ISlide.getImage オーバーロードはスケール 0.2 でレンダリングします。たとえば、720 × 540 ポイントのスライドは 144 × 108 ピクセルのサムネイルが生成されます。出力サイズを制御するには、以下に示すスケール ファクターを使用したオーバーロードまたは明示的な画像サイズを使用してください。カスタムサイズで PowerPoint を PNG に変換
水平および垂直のスケール ファクタを ISlide.getImage に渡すことで、レンダリングサイズを制御できます。この例では、両方のファクタが 2 になるため、720 × 540 ポイントのスライドは 1440 × 1080 ピクセルの画像が生成されます。スケール ファクタが等しい場合、スライドのアスペクト比が維持されます。各画像は IImage.save で PNG 形式で保存されます。
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
float scaleX = 2f;
float scaleY = scaleX;
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(scaleX, scaleY);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
カスタムサイズで PowerPoint を PNG に変換
ピクセル単位で出力サイズを指定するには、スケール ファクタの代わりにサイズを ISlide.getImage に渡します。この例では、各スライドを 960 × 720 ピクセルでレンダリングし、IImage.save で結果を保存します。画像の伸びを防ぐため、スライドのアスペクト比に合ったサイズを選択してください。
import com.aspose.slides.*;
import com.aspose.slides.android.Size;
Presentation presentation = new Presentation("presentation.pptx");
try {
Size imageSize = new Size(960, 720);
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(imageSize);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
グラデーションレンダリング スタイルの選択
スライドにグラデーション塗りつぶしが含まれているが、エクスポートされた PNG のグラデーション遷移が PowerPoint で見えるものよりも明るくなる、あるいは異なる場合があります。そのような場合は、RenderingOptions が継承する SaveOptions.setGradientStyle メソッドを使用して、グラデーションのレンダリング方法を選択できます。
gradient-styles.pptx をダウンロードし、アプリケーションの作業ディレクトリに配置します。最初のスライドには 2 つのリニア グラデーションが含まれており、上部はシアンからオレンジ、下部は青から黄色へと変化します。各グラデーションは 0% と 100% の 2 つのストップを持ちます。
以下の例では、このプレゼンテーションを読み込み、ISlide.getImage を使用して同じ最初のスライドを両方のモードでレンダリングします。
import com.aspose.slides.*;
Presentation presentation = new Presentation("gradient-styles.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
int[] gradientStyles = { GradientStyle.Default, GradientStyle.PowerPointUI };
for (int style : gradientStyles) {
RenderingOptions options = new RenderingOptions();
options.setGradientStyle(style);
String styleName = style == GradientStyle.Default ? "Default" : "PowerPointUI";
IImage image = slide.getImage(options, 1f, 1f);
try {
image.save("gradient-" + styleName + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
| デフォルト | PowerPointUI |
|---|---|
![]() |
![]() |
この例では、Default は中間色が明るくなり、PowerPointUI は中間色が暗くなります。差異はグラデーションの色とストップに依存します。
標準の Aspose.Slides 出力が目的に合う場合は Default を選択してください。PowerPoint の外観と一致させることが優先事項の場合は PowerPointUI を試してください。両方の出力を期待する結果と比較してください。どちらのモードが常に優れているわけでもありません。
FAQ
スライド全体ではなく、チャートや画像など特定のシェイプだけをエクスポートするにはどうすればよいですか?
Aspose.Slides は、個々のシェイプのサムネイル生成 をサポートしており、シェイプを PNG 画像としてレンダリングできます。
サーバーでの並列変換はサポートされていますか?
はい。各スレッドまたはプロセスごとに別々の Presentation インスタンスを使用してください;スレッド間で単一のインスタンスを共有しないでください。
PNG にエクスポートする際の評価版の制限は何ですか?
評価モードでは、出力画像に透かしが付加され、ライセンスが適用されるまで その他の制限 が適用されます。

