Apache POI XSLF
PPTX プレゼンテーション用のオープンソース Java API
Java ライブラリを介して Microsoft PowerPoint OOXML プレゼンテーションを作成、編集、マージします。
Apache POI XLSF 入門
まず、システムに Java Development Kit (JDK) をインストールする必要があります。既にお持ちの場合は、Apache POI の ダウンロード ページに進み、最新の安定版リリースをアーカイブから入手してください。必要なライブラリーを Java プログラムにリンクできる任意のディレクトリーに ZIP ファイルの内容を抽出します。それだけです!
Maven ベースの Java プロジェクトで Apache POI を参照するのはさらに簡単です。必要なのは、pom.xml に次の依存関係を追加し、IDE が Apache POI Jar ファイルを取得して参照できるようにすることだけです。
Apache POI Maven の依存関係
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
新しいプレゼンテーションを作成し、既存のファイルにスライドを追加する Java API
Apache POI XLSF を使用すると、コンピューター プログラマーは新しい PowerPoint プレゼンテーションを PPTX ファイル形式でゼロから作成できます。開発者は、必要に応じて既存のプレゼンテーションを変換することもできます。既存のプレゼンテーションを読み込んで変更したり、必要に応じて既存のプレゼンテーションにスライドを追加したりする機能を提供します。
プレゼンテーションの作成とスライドの追加 - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Java アプリで定義済みのスライド レイアウトから新しいスライドを作成する
Apache POI XLSF API には、PPTX プレゼンテーション内の事前定義されたスライド レイアウトから新しいスライドを追加するためのサポートが含まれています。 スライド レイアウトには、スライドに表示されるすべてのコンテンツの書式設定、配置、およびプレースホルダー ボックスが含まれています。 PowerPoint プレゼンテーションには、いくつかのスライド レイアウトがあります。まず、使用できるスライド レイアウトを確認する必要があります。さまざまなスライド マスターがあり、各スライド マスターにはいくつかのスライド レイアウトがあります。
タイトル レイアウト スライド - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slidelayout.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// initialize slide master object
XSLFSlideMaster xslfSlideMaster = xmlSlideShow.getSlideMasters().get(0);
// set Title layout
XSLFSlideLayout xslfSlideLayout = xslfSlideMaster.getLayout(SlideLayout.TITLE);
// create a new slide with title layout
XSLFSlide xslfSlide = xmlSlideShow.createSlide(xslfSlideLayout);
// select place holder
XSLFTextShape xslfTextShape = xslfSlide.getPlaceholder(0);
// set title
xslfTextShape.setText("Test");
// save file
xmlSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Java を使用して複数の PPTX プレゼンテーションを結合する
1 つのプレゼンテーションに結合したい複数の PPTX プレゼンテーションがありますか? Apache POI XLSF API は確実に役立ち、Java 開発者が複数の PPTX ファイルをマージできるようにします。
プレゼンテーションのスライドをマージする - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream("MergegSlide.pptx");
// select two PPTX files
String[] inputFiles = {"Slide.pptx", "SlideLayout.pptx"};
// create a new slide show
XMLSlideShow slideShow = new XMLSlideShow();
// merge slides
for(String file : inputFiles){
FileInputStream inputstream = new FileInputStream(file);
XMLSlideShow xmlSlideShow = new XMLSlideShow(inputstream);
for(XSLFSlide srcSlide : xmlSlideShow.getSlides()) {
slideShow.createSlide().importContent(srcSlide);
}
}
// saving file
slideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();