PHPでPowerPointスライドをPNGに変換
Contents
[
Hide
]
PowerPoint から PNG への変換について
PNG(Portable Network Graphics)形式は JPEG(Joint Photographic Experts Group)ほど一般的ではありませんが、依然として非常に人気があります。
使用例: 複雑な画像でサイズが問題にならない場合、PNG は JPEG よりも優れた画像形式です。
Tip
Aspose の無料 PowerPoint to PNG コンバータ をチェックしたいかもしれません: PPTX to PNG と PPT to PNG。これらは本ページで説明したプロセスの実装例です。PowerPoint を PNG に変換する
次の手順を実行してください:
- Presentation クラスをインスタンス化します。
- ISlide インターフェイスの下にある Presentation.getSlides() コレクションからスライドオブジェクトを取得します。
- 各スライドのサムネイルを取得するために ISlide.getImage() メソッドを使用します。
- スライドのサムネイルを PNG 形式で保存するために [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) メソッドを使用します。
この PHP コードは PowerPoint プレゼンテーションを PNG に変換する方法を示しています:
$pres = new Presentation("pres.pptx");
try {
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage();
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
カスタム寸法で PowerPoint を PNG に変換する
特定のスケールで PNG ファイルを取得したい場合は、結果のサムネイルの寸法を決定する desiredX と desiredY の値を設定できます。
このコードは上記の操作を示しています:
$pres = new Presentation("pres.pptx");
try {
$scaleX = 2.0;
$scaleY = 2.0;
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($scaleX, $scaleY);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
カスタムサイズで PowerPoint を PNG に変換する
特定のサイズの PNG ファイルを取得したい場合は、ImageSize に対して希望の width と height を渡すことができます。
このコードは、画像のサイズを指定しながら PowerPoint を PNG に変換する方法を示しています:
$pres = new Presentation("pres.pptx");
try {
$size = new Java("java.awt.Dimension", 960, 720);
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($size);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
スライド全体ではなく、特定のシェイプ(例: チャートや画像)だけをエクスポートするにはどうすればよいですか?
Aspose.Slides は 個々のシェイプのサムネイル生成 をサポートしており、シェイプを PNG 画像としてレンダリングできます。
サーバーでの並列変換はサポートされていますか?
はい、ただしスレッド間で単一のプレゼンテーション インスタンスを共有しないでください。共有しないことが必要です。スレッドまたはプロセスごとに別々のインスタンスを使用してください。
PNG にエクスポートする際の評価版の制限は何ですか?
評価モードでは出力画像に透かしが追加され、ライセンスが適用されるまで その他の制限 が適用されます。