Apache-poi-ppt-management-slides
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
以下は、スライドサイズを変更する前のプレゼンテーションのスナップショットです-
サイズを変更した後、スライドは次のように表示されます-
スライドの並べ替え
- 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
以下のスナップショットは、スライドを削除する前のプレゼンテーションのものです-
スライドを削除した後、プレゼンテーションは次のように表示されます-