1. 製品
  2.   プレゼンテーション
  3.   Java
  4.   Apache POI XSLF  

Apache POI XSLF  

 
 

PPTX プレゼンテーション用のオープンソース Java API

Java ライブラリを介して Microsoft PowerPoint OOXML プレゼンテーションを作成、編集、マージします。

Apache POI XLSF は、PowerPoint PPTX ファイルを読み取り、作成、または編集するための Java 実装です。 PowerPoint 2007 OOXML ファイル形式で作業するために必要な機能を提供し、開発者がテキスト、画像、埋め込みオブジェクトなどのデータを PowerPoint PPTX プレゼンテーションから抽出できるようにします。開発者は、スライドに図形を追加したり、ハイパーリンクと画像を管理したり、ビデオを追加したり、PPTX を SVG に変換したりすることもできます。

Previous Next

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();
 日本