Apache-poi-ppt-management-slides

提供:Dev Guides
移動先:案内検索

Apache POI PPT-スライド管理

この章を完了すると、スライドの削除、並べ替え、読み取りおよび書き込み操作を実行できるようになります。

スライドを変更する

*XMLSlideShow* クラスの* setPageSize()*メソッドを使用して、スライドのページサイズを変更できます。

以下に示すように、最初にプレゼンテーションを作成します-

File file = new File("C://POIPPT//Examples//TitleAndContentLayout.pptx");

//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
*XMLSlideShow* クラスの* getPageSize()*メソッドを使用して、現在のスライドのサイズを取得します。
java.awt.Dimension pgsize = ppt.getPageSize();
  • setPageSize()*メソッドを使用してページのサイズを設定します。
ppt.setPageSize(new java.awt.Dimension(1024, 768));

スライドのサイズを変更するための完全なプログラムは以下のとおりです-

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;

public class ChangingSlide {

   public static void main(String args[]) throws IOException {

     //create file object
      File file = new File("TitleAndContentLayout.pptx");

     //create presentation
      XMLSlideShow ppt = new XMLSlideShow();

     //getting the current page size
      java.awt.Dimension pgsize = ppt.getPageSize();
      int pgw = pgsize.width;//slide width in points
      int pgh = pgsize.height;//slide height in points

      System.out.println("current page size of the PPT is:");
      System.out.println("width :" + pgw);
      System.out.println("height :" + pgh);

     //set new page size
      ppt.setPageSize(new java.awt.Dimension(2048,1536));

     //creating file object
      FileOutputStream out = new FileOutputStream(file);

     //saving the changes to a file
      ppt.write(out);
      System.out.println("slide size changed to given dimentions ");
      out.close();
   }
}

上記のJavaコードを ChangingSlide.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-

$javac ChangingSlide.java
$java ChangingSlide

コンパイルして実行し、次の出力を生成します。

current page size of the presentation is :
width :720
height :540
slide size changed to given dimensions

以下は、スライドサイズを変更する前のプレゼンテーションのスナップショットです-

TitleAndContentLayout

サイズを変更した後、スライドは次のように表示されます-

SlideAfterChange

スライドの並べ替え

  • setSlideOrder()*メソッドを使用してスライドの順序を設定できます。 以下に、スライドの順序を設定する手順を示します。

以下に示すように、既存のPPTドキュメントを開きます-

File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

以下に示すように* getSlides()*メソッドを使用してスライドを取得します-

XSLFSlide[] slides = ppt.getSlides();

スライドの配列からスライドを選択し、以下に示すように* setSlideOrder()*メソッドを使用して順序を変更します-

//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];

//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);

プレゼンテーション内のスライドを並べ替える完全なプログラムを以下に示します-

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class ReorderSlide {

   public static void main(String args[]) throws IOException {

     //opening an existing presentation
      File file = new File("example1.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

     //get the slides
      XSLFSlide[] slides = ppt.getSlides();

     //selecting the fourth slide
      XSLFSlide selectesdslide = slides[13];

     //bringing it to the top
      ppt.setSlideOrder(selectesdslide, 0);

     //creating an file object
      FileOutputStream out = new FileOutputStream(file);

     //saving the changes to a file
      ppt.write(out);
      out.close();
   }
}

上記のJavaコードを ReorderSlide.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-

$javac ReorderSlide.java
$java ReorderSlide

コンパイルして実行し、次の出力を生成します。

Reordering of the slides is done

以下は、スライドを並べ替える前のプレゼンテーションのスナップショットです-

再注文前

スライドを並べ替えると、次のようにプレゼンテーションが表示されます。 ここで、画像付きのスライドを選択し、上部に移動しました。

再注文後

スライドを削除する

  • removeSlide()*メソッドを使用してスライドを削除できます。 以下の手順に従って、スライドを削除します。

以下に示すように、 XMLSlideShow クラスを使用して既存のプレゼンテーションを開きます-

File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
  • removeSlide()*メソッドを使用して、必要なスライドを削除します。 このメソッドは整数パラメーターを受け入れます。 削除するスライドのインデックスをこのメソッドに渡します。
ppt.removeSlide(1);

以下は、プレゼンテーションからスライドを削除するプログラムです-

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;

public class Deleteslide {

   public static void main(String args[]) throws IOException {

     //Opening an existing slide
      File file = new File("image.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

     //deleting a slide
      ppt.removeSlide(1);

     //creating a file object
      FileOutputStream out = new FileOutputStream(file);

     //Saving the changes to the presentation
      ppt.write(out);
      out.close();
   }
}

上記のJavaコードを Deleteslide.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-

$javac Deleteslide.java
$java Deleteslide

次の出力を生成するためにコンパイルおよび実行されます-

reordering of the slides is done

以下のスナップショットは、スライドを削除する前のプレゼンテーションのものです-

再注文後

スライドを削除した後、プレゼンテーションは次のように表示されます-

スライドの削除