PHPでPPTとPPTXをJPGに変換

PowerPoint を JPG に変換する概要

Aspose.Slides API を使用すると、PowerPoint の PPT または PPTX プレゼンテーションを JPG 画像に変換できます。PPT/PPTX を JPEG、PNG、SVG に変換することも可能です。この機能により、独自のプレゼンテーションビューアを実装したり、各スライドのサムネイルを作成したりするのが簡単になります。プレゼンテーションスライドをコピーから保護したり、読み取り専用モードでデモンストレーションしたりしたい場合に便利です。Aspose.Slides は、プレゼンテーション全体または特定のスライドを画像形式に変換できます。

[todo:image_alt_text

PowerPoint PPT/PPTX を JPG に変換

PPT/PPTX を JPG に変換する手順は以下の通りです:

  1. Presentation 型のインスタンスを作成します。
  2. ISlide 型のスライドオブジェクトを、Presentation.getSlides() コレクションから取得します。
  3. 各スライドのサムネイルを作成し、JPG に変換します。ISlide.getImage(float scaleX, float scaleY) メソッドはスライドのサムネイルを取得するために使用され、結果として Images オブジェクトを返します。getImage メソッドは必要な ISlide 型のスライドから呼び出す必要があり、生成されるサムネイルのスケールがメソッドに渡されます。
  4. スライドのサムネイルを取得したら、サムネイルオブジェクトから [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 画像のサイズを変更するには、ISlide.getImage(float scaleX, float scaleY) メソッドに ScaleXScaleY の値を渡して設定します:

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

よくある質問

この方法はバッチ変換をサポートしていますか?

はい、Aspose.Slides は単一の操作で