PHPでPPTとPPTXをJPGに変換する
PowerPoint to JPG 変換について
Aspose.Slides API を使用すると、PowerPoint PPT または PPTX プレゼンテーションを JPG 画像に変換できます。PPT/PPTX を JPEG、PNG、SVG に変換することも可能です。この機能を利用すれば、独自のプレゼンテーションビューアを実装したり、各スライドのサムネイルを作成したりできます。プレゼンテーションスライドをコピーライトから保護したり、読み取り専用モードでデモンストレーションしたりする場合にも便利です。Aspose.Slides は、プレゼンテーション全体または特定のスライドを画像形式に変換できます。
[
PowerPoint PPT/PPTX を JPG に変換する方法
PPT/PPTX を JPG に変換する手順は次のとおりです:
- Presentation 型のインスタンスを作成します。
- Presentation::getSlides() コレクションから Slide 型のスライドオブジェクトを取得します。
- 各スライドのサムネイルを作成し、JPG に変換します。サムネイル取得には Slide::getImage(float scaleX, float scaleY) メソッドを使用します。
getImageメソッドは対象の Slide 型から呼び出し、結果のサムネイルのスケールを引数として渡します。 - スライドのサムネイルを取得したら、サムネイルオブジェクトから [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) メソッドを呼び出します。ファイル名と画像形式を指定してください。
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
foreach($pres->getSlides() as $sld) {
# フルスケール画像を作成
$slideImage = $sld->getImage(1.0, 1.0);
# 画像を JPEG 形式でディスクに保存
try {
$slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
カスタマイズしたサイズで PowerPoint PPT/PPTX を JPG に変換する方法
生成されるサムネイルおよび JPG 画像のサイズを変更するには、Slide::getImage(float scaleX, float scaleY) メソッドに ScaleX と ScaleY の値を渡します:
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# 次元を定義
$desiredX = 1200;
$desiredY = 800;
# X と Y のスケール済み値を取得
$ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
$ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
foreach($pres->getSlides() as $sld) {
# フルスケール画像を作成
$slideImage = $sld->getImage($ScaleX, $ScaleY);
# 画像を JPEG 形式でディスクに保存
try {
$slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
スライドを画像として保存する際にコメントを描画する
Aspose.Slides for PHP via Java は、スライドを画像に変換する際にプレゼンテーションのコメントを描画できる機能を提供します。以下の PHP コードがその操作例です:
$pres = new Presentation("presentation.pptx");
try {
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomTruncated);
$opts = new RenderingOptions();
$opts->setSlidesLayoutOptions($notesOptions);
foreach($pres->getSlides() as $sld) {
$slideImage = $sld->getImage($opts, new Java("java.awt.Dimension", 740, 960));
try {
$slideImage->save(String->format("Slide_%d.png", $sld->getSlideNumber()));
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Tip
Aspose は FREE Collage web app を提供しています。このオンラインサービスを使って、JPG to JPG や PNG to PNG の画像を結合したり、photo grids を作成したりできます。
本記事で説明した原理を利用すれば、画像形式間の変換も実行できます。詳細は次のページをご参照ください: 画像を JPG に変換、JPG を 画像に変換、JPG を PNG に変換、PNG を JPG に変換、PNG を SVG に変換、SVG を PNG に変換。
FAQ
この方法はバッチ変換をサポートしていますか?
はい、Aspose.Slides は複数スライドを一括で JPG に変換するバッチ変換をサポートしています。
変換は SmartArt、チャート、その他の複雑なオブジェクトをサポートしていますか?
はい、Aspose.Slides は SmartArt、チャート、テーブル、シェイプなどすべてのコンテンツをレンダリングします。ただし、カスタム フォントや欠落フォントを使用した場合、PowerPoint と比較して若干の精度差が生じることがあります。
処理できるスライド数に制限はありますか?
Aspose.Slides 自体に厳格なスライド数の上限はありませんが、大規模なプレゼンテーションや高解像度画像を扱う際にメモリ不足エラーが発生する可能性があります。
See Also
PPT/PPTX を画像に変換する他のオプション: