Apache-poi-ppt-quick-guide
Apache POI PPT-概要
多くの場合、Microsoft Officeファイル形式でレポートを生成するにはソフトウェアアプリケーションが必要です。 場合によっては、アプリケーションがMS-Officeファイルを入力データとして受け取ることさえ期待されます。
出力としてMS Officeファイルを作成したいJavaプログラマーは、事前定義された読み取り専用APIを使用して作成する必要があります。
Apache POIとは何ですか?
Apache POIは、プログラマーがJavaプログラムを使用してMS-Officeファイルを作成、変更、表示できる一般的なAPIです。 これは、Apache Software Foundationによって開発および配布されたオープンソースライブラリです。 ユーザー入力データまたはファイルをMS Officeドキュメントにデコードするクラスとメソッドが含まれています。
Apache POIのコンポーネント
Apache POIには、MS-OfficeのすべてのOLE2複合ドキュメントで動作するクラスとメソッドが含まれています。 このAPIのコンポーネントのリストは以下のとおりです-
- * POIFS(難読化実装ファイルシステム)*-このコンポーネントは、他のすべてのPOI要素の基本的な要素です。 異なるファイルを明示的に読み取るために使用されます。
- * HSSF(恐ろしいスプレッドシート形式)*-MS-Excelファイルの.xls形式の読み取りおよび書き込みに使用されます。
- * XSSF(XML SpreadSheet Format)*-MS-Excelの.xlsxファイル形式に使用されます。
- * HPSF(恐ろしいプロパティセット形式)*-MS-Officeファイルのプロパティセットを抽出するために使用されます。
- * HWPF(Horrible Word Processor Format)-MS-Wordの *.doc 拡張ファイルの読み取りおよび書き込みに使用されます。
- * XWPF(XMLワープロ形式)*-MS-Wordの.docx拡張子ファイルを読み書きするために使用されます。
- * HSLF(恐ろしいスライドレイアウト形式)*-PowerPointプレゼンテーションの読み取り、作成、および編集に使用されます。
- * HDGF(Horrible DiaGram Format)*-MS-Visioバイナリファイルのクラスとメソッドが含まれています。
- * HPBF(Horrible PuBlisher Format)*-MS-Publisherファイルの読み取りと書き込みに使用されます。
このチュートリアルでは、Javaを使用してMicrosoft PowerPointプレゼンテーションで作業するプロセスをガイドします。 したがって、説明は* XSLFコンポーネント*に限定されます。
注意-POIの古いバージョンは、doc、xls、pptなどのバイナリファイル形式をサポートしています。 バージョン3.5以降、POIはdocx、xlsx、pptxなどのMS-OfficeのOOXMLファイル形式をサポートします。
Java PPT APIのフレーバー
この章では、Java PowerPoint APIのフレーバーとその機能について説明します。 Java PPT関連のAPIを提供するベンダーは多数あります。それらのいくつかはこの章で検討されます。
Aspose Slides for Java
Aspose slides for Javaは純粋にライセンスされたJava PPT APIであり、ベンダー Aspose によって開発および配布されています。 このAPIの最新バージョンは8.1.2で、2014年7月にリリースされました。 これは、スライドの読み取り、書き込み、および管理が可能なPPTコンポーネントを設計するための、リッチで重いAPI(プレーンなJavaクラスとAWTクラスの組み合わせ)です。
このAPIの一般的な使用法は次のとおりです-
- 動的なプレゼンテーションを作成する
- 忠実度の高いプレゼンテーションのレンダリングと印刷
- プレゼンテーションの生成、編集、変換、印刷
アパッチPOI
Apache POIは、Apache Software Foundationが提供する100%オープンソースライブラリです。 中小規模のアプリケーション開発者のほとんどは、Apache POI(HSLF + XSLF)に大きく依存しています。 PPTライブラリのすべての基本機能をサポートしています。ただし、レンダリングとテキスト抽出が主な機能です。 以下に、PPT用のApache POIのアーキテクチャを示します。
Apache POI PPT-インストール
この章では、WindowsおよびLinuxベースのシステムでApache POIを設定するプロセスについて説明します。 Apache POIは簡単にインストールして現在のJava環境に統合でき、複雑なセットアップ手順なしでいくつかの簡単な手順を実行できます。 インストールにはユーザー管理が必要です。
システム要求
JDK | Java SE 2 JDK 1.5 or above |
Memory | 1 GB RAM (recommended) |
Disk Space | No minimum requirement |
Operating System Version | Windows XP or above, Linux |
Apache POIをインストールする手順に進みましょう。
ステップ1:Javaインストールを確認する
まず、システムにJava Software Development Kit(SDK)をインストールする必要があります。 これを確認するには、作業しているプラットフォームに応じて、次の2つのコマンドのいずれかを実行します。
Javaインストールが適切に行われている場合、Javaインストールの現在のバージョンと仕様が表示されます。 サンプル出力を次の表に示します。
Platform | Command | Sample Output |
---|---|---|
Windows |
Open Command Console and type −
a |
Javaバージョン「1.7.0_60」 Java(TM)SEランタイム 環境(ビルド1.7.0_60-b19) Java Hotspot(TM)64ビットサーバー VM(ビルド24.60-b09、混合モード) |
Linux |
Open Command terminal and type −
a |
Javaバージョン "1.7.0_25" JDKランタイム環境を開く(rhel-2.3.10.4.el6_4-x86_64) JDK 64ビットサーバーVMを開く(ビルド23.7-b01、混合モード) |
- このチュートリアルの読者は、システムにJava SDKバージョン1.7.0_60がインストールされていることを前提としています。
- Java SDKがない場合は、https://www.oracle.com/technetwork/java/javase/downloads/indexlから現在のバージョンをダウンロードしてインストールしてください。
ステップ2:Java環境を設定する
Javaがマシンにインストールされているベースディレクトリの場所を指すように、環境変数JAVA_HOMEを設定します。 例えば、
Platform | Description |
---|---|
Windows | Set JAVA_HOME to C:\ProgramFiles\java\jdk1.7.0_60 |
Linux | Export JAVA_HOME =/usr/local/java-current |
Javaコンパイラの場所の完全パスをシステムパスに追加します。
Platform | Description |
---|---|
Windows | Append the String "C:\Program Files\Java\jdk1.7.0_60\bin" to the end of the system variable PATH. |
Linux | Export PATH = $PATH:$JAVA_HOME/bin/ |
上記で説明したように、コマンドプロンプトからコマンド java -version を実行します。
ステップ3:Apache POIライブラリをインストールする
[[1]] POIをダウンロードし、必要なライブラリをJavaプログラムにリンクできるフォルダにそのコンテンツを解凍します。 ファイルがCドライブのフォルダーに収集されると仮定します。
次の画像は、ダウンロードしたフォルダ内のディレクトリとファイル構造を示しています-
上記の画像で強調表示されている5つの jars の完全なパスをCLASSPATHに追加します。
Platform | Description |
---|---|
Windows |
Append the following strings to the end of the user variable CLASSPATH − 「C:\ poi-3.9 \ poi-3.9-20121203.jar;」 「C:\ poi-3.9 \ poi-ooxml-3.9-20121203.jar;」 「C:\ poi-3.9 \ poi-ooxml-schemas-3.9-20121203.jar;」 「C:\ poi-3.9 \ ooxml-lib \ dom4j-1.6.1.jar;」 「C:\ poi-3.9 \ ooxml-lib \ xmlbeans-2.3.0.jar;。;」 |
Linux |
Export CLASSPATH = $CLASSPATH: /usr/share/poi-3.9/poi-3.9-20121203.tar: /usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar: /usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar: /usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar: /usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar |
pom.xml
以下は、このチュートリアルのプログラムを実行するためのpom.xmlファイルです。
Apache POI PPT-クラスとメソッド
この章では、Javaプログラムを使用してPPTファイルを操作するために重要なApache POI APIのいくつかのクラスとメソッドについて学習します。
プレゼンテーション
プレゼンテーションを作成および管理するには、パッケージ_org.apache.poi.xslf.usermodel_にXMLSlideShowというクラスがあります。 以下に、このクラスの重要なメソッドとコンストラクターを示します。
クラス-XMLSlideShow
パッケージ-org.apache.poi.xslf.usermodel
S.No | Constructor & Description |
---|---|
1 |
XMLSlideShow(java.io.InputStream inputStream) inputstreamクラスオブジェクトを渡すことで、このクラスをインスタンス化できます。 |
S.No | Methods & Description |
---|---|
1 |
int addPicture (byte[] pictureData, int format) この方法を使用すると、プレゼンテーションに画像を追加できます。 |
2 |
XSLFSlide createSlide() プレゼンテーションに空白のスライドを作成します。 |
3 |
XSLFSlide createSlide(XSLFSlideLayout layout) 指定されたスライドレイアウトでスライドを作成します。 |
4 |
java.util.List <XSLFPictureData> getAllPictures() プレゼンテーション内のすべての画像の配列を返します。 |
5 |
java.awt.Dimension getPageSize() この方法を使用すると、現在のページサイズを知ることができます。 |
6 |
XSLFSlideMaster[] getSlideMasters() プレゼンテーション内のすべてのスライドの配列を返します。 |
7 |
XSLFSlide[] getSlides() プレゼンテーション内のすべてのスライドを返します。 |
8 |
XSLFSlide removeSlide(int index) この方法を使用すると、プレゼンテーションからスライドを削除できます。 |
9 |
void setPageSize(java.awt.Dimension pgSize) この方法を使用すると、ページサイズをリセットできます。 |
10 |
void setSlideOrder(XSLFSlide slide, int newIndex) この方法を使用すると、スライドを並べ替えることができます。 |
滑り台
プレゼンテーションでスライドを作成および管理するには、 XSLFSlide クラスのメソッドが使用されます。 このクラスのいくつかの重要なメソッドを以下に示します。
クラス-XSLFSlide
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
XSLFBackground getBackground() スライドの背景の色やアンカーなどの詳細を取得するために使用できる XSLFBackground オブジェクトを返します。 このオブジェクトを使用して、スライドに図形を描くこともできます。 |
2 |
XSLFSlideLayout getSlideLayout() 現在のスライドの XSLFSlideLayout オブジェクトへのアクセスを提供します。 |
3 |
XSLFSlideMaster getSlideMaster() 現在のスライドのスライドマスターへのアクセスを提供します。 |
4 |
XSLFTheme getTheme() 現在のスライドの XSLFTheme オブジェクトを返します。 |
5 |
java.lang.String getTitle() 現在のスライドのタイトルを返します。 |
6 |
XSLFSlide importContent(XSLFSheet src) 別のスライドの内容をこのスライドにコピーします。 |
スライドマスター
これは、異なるスライドレイアウトを持つプレゼンテーションのコンポーネントです。 XSLFSlideMaster クラスからアクセスできます。 以下に、このクラスの重要なメソッドをいくつか示します。
クラス-XSLFSlideMaster
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
XSLFBackground getBackground() スライドマスターの共通の背景を返します。 |
2 |
XSLFSlideLayout getLayout(SlideLayout type) XSLFSlideLayoutオブジェクトを返します。 |
3 |
XSLFSlideLayout[] getSlideLayouts() このスライドマスターのすべてのスライドレイアウトを返します。 |
スライドレイアウト
POIライブラリには XSLFSlideLayout というクラスがあり、これを使用してスライドのレイアウトを管理できます。
クラス-XSLFSlideLayout
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
void copyLayout(XSLFSlide slide) このメソッドは、このレイアウトからプレースホルダーを指定されたスライドにコピーします。 |
テキスト段落
クラス-XSLFTextParagraph
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
XSLFTextRun addLineBreak() 段落に改行を挿入します。 |
2 |
XSLFTextRun addNewTextRun() 段落にテキストの新しい実行を追加します。 |
3 |
void setBulletAutoNumber(ListAutoNumber scheme, int startAt) 段落に自動番号付き箇条書きを適用します。 |
4 |
void setIndent(double value) 段落内のテキストにインデントを設定します。 |
5 |
void setLeftMargin(double value) このメソッドは、段落の左マージンを追加するために使用されます。 |
6 |
void setLineSpacing(double linespacing) このメソッドは、段落内の行間隔を設定するために使用されます。 |
7 |
void setTextAlign(TextAlign align) このメソッドは、段落に設定される配置を設定するために使用されます。 |
テキストラン
これは、テキスト本文内のテキスト分離の最低レベルです。 段落のテキストランを管理する XSLFTextRun クラスがあります。 以下に、このクラスのいくつかの重要なメソッドを示します。
クラス-XSLFTextParagraph
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
XSLFHyperlink createHyperlink() プレゼンテーションにハイパーリンクを作成します。 |
2 |
XSLFHyperlink getHyperlink() このメソッドは、ハイパーリンクを取得するために使用されます。 |
3 |
java.lang.String getText() このTextノードの値をJava文字列として返します。 |
4 |
void setBold(boolean bold) このメソッドは、太字でテキストを設定するために使用されます。 |
5 |
void setCharacterSpacing(double spc) テキストラン内の文字間の間隔を設定します。 |
6 |
void setFontColor(java.awt.Color color) テキストのフォントの色を設定します。 |
7 |
void setFontSize(double fontSize) テキストのフォントサイズを設定します。 |
8 |
void setItalic(boolean italic) このメソッドは、段落を斜体にするために使用されます。 |
9 |
void setStrikethrough(boolean strike) このメソッドは、一連のテキストを取り消し線テキストとしてフォーマットするために使用されます。 |
10 |
void setSubscript(boolean flag) このメソッドは、テキストを下付き文字としてフォーマットするために使用されます。 |
11 |
void setSuperscript(boolean flag) このメソッドは、この実行のテキストを上付き文字としてフォーマットするために使用されます。 |
12 |
void setText(java.lang.String text) このメソッドは、実行時にテキストを設定するために使用されます。 |
13 |
void setUnderline(boolean underline) このメソッドは、テキストランでテキストに下線を引くために使用されます。 |
テキスト形状
PPTには、テキストを保持できる図形があります。 XSLFTextShape クラスを使用してこれらを管理できます。 以下に、このクラスの重要なメソッドをいくつか示します。
クラス-XSLFTextShape
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
void setPlaceholder(Placeholder placeholder) この方法を使用すると、プレースホルダーを選択できます。 |
2 |
Placeholder getTextType() 現在のプレースホルダーのタイプを返します。 |
3 |
void clearText() 現在のテキストシェイプのテキスト領域をクリアします。 |
4 |
XSLFTextParagraph addNewTextParagraph() 図形に新しい段落の実行を追加します。 |
5 |
void drawContent(java.awt.Graphics2D graphics) このメソッドを使用すると、スライドにコンテンツを描画できます。 |
ハイパーリンク
POIライブラリには XSLFHyperlink というクラスがあり、これを使用してプレゼンテーションにハイパーリンクを作成できます。 以下に、このクラスの重要なメソッドをいくつか示します。
クラス-XSLFHyperlink
パッケージ-org.apache.poi.xslf.usermodel
S.No | Method & Description |
---|---|
1 |
java.net.URI getTargetURL() プレゼンテーションのスライドに存在するURLを返します。 |
2 |
void setAddress(java.lang.String address) このメソッドは、アドレスをURLに設定するために使用されます。 |
3 |
void setAddress(XSLFSlide slide) プレゼンテーションのスライドにあるURLにアドレスを設定します。 |
Apache POI PPT-プレゼンテーション
通常、プレゼンテーションの作成にはMS-PowerPointを使用します。 ここで、Javaを使用してプレゼンテーションを作成する方法を見てみましょう。 この章を完了すると、新しいMS-PowerPointプレゼンテーションを作成し、Javaプログラムで既存のPPTを開くことができます。
空のプレゼンテーションを作成する
空のプレゼンテーションを作成するには、_org.poi.xslf.usermodel_パッケージの XMLSlideShow クラスをインスタンス化する必要があります-
以下は、空のMS-PowerPointプレゼンテーションを作成するための完全なプログラムです。
上記のJavaコードを CreatePresentation.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
システム環境がPOIライブラリで構成されている場合、現在のディレクトリに example1.pptx という名前の空のPPTファイルを生成するためにコンパイルおよび実行され、コマンドプロンプトに次の出力が表示されます-
空白のPowerPointドキュメントは次のように表示されます-
既存のプレゼンテーションの編集
既存のプレゼンテーションを開くには、 XMLSlideShow クラスをインスタンス化し、編集するファイルの FileInputStream オブジェクトを引数として XMLSlideShow コンストラクターに渡します。
_org.poi.xslf.usermodel_パッケージにあるXMLSlideShowクラスの* createSlide()*メソッドを使用して、プレゼンテーションにスライドを追加できます。
以下は、既存のPPTにスライドを開いて追加するための完全なプログラムです-
上記のJavaコードを EditPresentation.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
スライドが新しく追加された出力PPTドキュメントは次のようになります-
PPTにスライドを追加した後、スライドで操作を追加、実行、読み取り、および書き込みできます。
Apache POI PPT-スライドレイアウト
前の章では、空のスライドを作成する方法と、スライドを追加する方法を見てきました。 この章では、利用可能なスライドのリストを取得する方法と、さまざまなレイアウトでスライドを作成する方法を学びます。
利用可能なスライドレイアウト
PowerPointプレゼンテーションにはスライドレイアウトがあり、目的のレイアウトを選択してスライドを編集できます。 まず、利用可能なすべてのスライドレイアウトのリストを調べてみましょう。
- さまざまなスライドマスターがあり、各スライドマスターにはいくつかのスライドレイアウトがあります。
- XMLSlideShow クラスの* getSlideMasters()*メソッドを使用して、スライドマスターのリストを取得できます。
- XSLFSlideMaster クラスの* getSlideLayouts()*メソッドを使用して、各スライドマスターからスライドレイアウトのリストを取得できます。
- XSLFSlideLayout クラスの* getType()*メソッドを使用して、レイアウトオブジェクトからスライドレイアウトの名前を取得できます。
注意-これらのクラスはすべて_org.poi.xslf.usermodel_パッケージに属します。
PPTで利用可能なスライドレイアウトのリストを取得するための完全なプログラムを以下に示します-
上記のJavaコードを SlideLayouts.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
以下に、MS-Office 360、2013エディションで使用可能なサンプルスライドレイアウトの一部を示します。
タイトルレイアウト
タイトルレイアウトを使用してPPTでスライドを作成します。 以下の手順に従ってください-
ステップ1 *-以下に示すように *XMLSlideShow クラスをインスタンス化して、空のプレゼンテーションを作成します。
ステップ2 *- getSlideMasters()*メソッドを使用して、スライドマスターのリストを取得します。 その後、下に示すようにインデックスを使用して目的のスライドマスターを選択します。
ここでは、スライドマスターアレイの0 ^ th ^位置にあるデフォルトのスライドマスターを取得しています。
ステップ3 *- *XSLFSlideMaster クラスの* getLayout()メソッドを使用して、目的のレイアウトを取得します。 このメソッドは、目的のレイアウトを表す *SlideLayoutclass の静的変数のいずれかを渡す必要があるパラメーターを受け入れます。 このクラスにはいくつかの変数があり、各変数はスライドレイアウトを表します。
以下に示すコードスニペットは、タイトルレイアウトを作成する方法を示しています-
- ステップ4 *-パラメーターとしてスライドレイアウトオブジェクトを渡すことにより、新しいスライドを作成します。
ステップ5 *- *XSLFSlide クラスの* getPlaceholder()メソッドを使用してプレースホルダーを選択します。 このメソッドは整数パラメーターを受け入れます。 *0 を渡すと、 XSLFTextShape オブジェクトが取得されます。これを使用して、スライドのタイトルテキスト領域にアクセスできます。 以下に示すようにsetText()メソッドを使用してタイトルを設定します。
以下は、プレゼンテーションのタイトルレイアウトでスライドを作成するための完全なプログラムです。
上記のJavaコードをTitleLayout.javaとして保存し、次のようにコマンドプロンプトからコンパイルして実行します-
コンパイルして実行し、次の出力を生成します。
新しく追加されたタイトルレイアウトスライドを含むPPTドキュメントは、次のように表示されます-
タイトルとコンテンツのレイアウト
タイトルとコンテンツレイアウトを使用して、PPTでスライドを作成します。 以下の手順に従ってください。
ステップ1 *-以下に示すように *XMLSlideShow クラスをインスタンス化して、空のプレゼンテーションを作成します。
ステップ2 *- getSlideMasters()*メソッドを使用して、スライドマスターのリストを取得します。 以下に示すインデックスを使用して、目的のスライドマスターを選択します。
ここでは、スライドマスターアレイの0番目の場所にあるデフォルトのスライドマスターを取得しています。
ステップ3 *- *XSLFSlideMaster クラスの* getLayout()メソッドを使用して、目的のレイアウトを取得します。 このメソッドは、目的のレイアウトを表す *SlideLayout クラスの静的変数の1つを渡す必要があるパラメーターを受け入れます。 このクラスには、スライドレイアウトを表すいくつかの変数があります。
次のコードスニペットは、タイトルとコンテンツのレイアウトを作成する方法を示しています-
- ステップ4 *-スライドレイアウトオブジェクトをパラメーターとして渡すことにより、新しいスライドを作成します。
ステップ5 *- *XSLFSlide クラスの* getPlaceholder()メソッドを使用してプレースホルダーを選択します。 このメソッドは整数パラメーターを受け入れます。 *1 を渡すと、 XSLFTextShape オブジェクトが取得され、これを使用してスライドのコンテンツ領域にアクセスできます。 以下に示すようにsetText()メソッドを使用してタイトルを設定します。
ステップ6 *- *XSLFTextShape クラスの* clearText()*メソッドを使用して、スライド内の既存のテキストをクリアします。
ステップ7 *- addNewTextParagraph()メソッドを使用して新しい段落を追加します。 * addNewTextRun()*メソッドを使用して、新しいテキストランを段落に追加します。 次に、テキストランに、以下に示すように setText()*メソッドを使用してテキストを追加します。
以下は、プレゼンテーションのタイトルレイアウトでスライドを作成するための完全なプログラムです。
上記のJavaコードを TitleLayout.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
新しく追加されたタイトルレイアウトスライドを含むPPTドキュメントは、次のように表示されます-
同様に、異なるレイアウトのスライドを作成することもできます。
Apache POI PPT-スライド管理
この章を完了すると、スライドの削除、並べ替え、読み取りおよび書き込み操作を実行できるようになります。
スライドを変更する
以下に示すように、最初にプレゼンテーションを作成します-
- setPageSize()*メソッドを使用してページのサイズを設定します。
スライドのサイズを変更するための完全なプログラムは以下のとおりです-
上記のJavaコードを ChangingSlide.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
コンパイルして実行し、次の出力を生成します。
以下は、スライドサイズを変更する前のプレゼンテーションのスナップショットです-
サイズを変更した後、スライドは次のように表示されます-
スライドの並べ替え
- setSlideOrder()*メソッドを使用してスライドの順序を設定できます。 以下に、スライドの順序を設定する手順を示します。
以下に示すように、既存のPPTドキュメントを開きます-
以下に示すように* getSlides()*メソッドを使用してスライドを取得します-
スライドの配列からスライドを選択し、以下に示すように* setSlideOrder()*メソッドを使用して順序を変更します-
プレゼンテーション内のスライドを並べ替える完全なプログラムを以下に示します-
上記のJavaコードを ReorderSlide.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
コンパイルして実行し、次の出力を生成します。
以下は、スライドを並べ替える前のプレゼンテーションのスナップショットです-
スライドを並べ替えると、次のようにプレゼンテーションが表示されます。 ここで、画像付きのスライドを選択し、上部に移動しました。
スライドを削除する
- removeSlide()*メソッドを使用してスライドを削除できます。 以下の手順に従って、スライドを削除します。
以下に示すように、 XMLSlideShow クラスを使用して既存のプレゼンテーションを開きます-
- removeSlide()*メソッドを使用して、必要なスライドを削除します。 このメソッドは整数パラメーターを受け入れます。 削除するスライドのインデックスをこのメソッドに渡します。
以下は、プレゼンテーションからスライドを削除するプログラムです-
上記のJavaコードを Deleteslide.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
以下のスナップショットは、スライドを削除する前のプレゼンテーションのものです-
スライドを削除した後、プレゼンテーションは次のように表示されます-
Apache POI PPT-画像
この章では、PPTに画像を追加する方法と、PPTから画像を読み取る方法を学習します。
画像を追加する
指定された手順に従って、プレゼンテーションに画像を追加します。 以下に示すように、 XMLSlideShow を使用して空のスライドショーを作成します-
- createSlide()*を使用して、空のプレゼンテーションを作成します。
追加する画像ファイルを読み取り、以下に示すように IOUtils クラスの* IOUtils.toByteArray()*を使用してバイト配列に変換します-
- addPicture()*を使用して、プレゼンテーションに画像を追加します。 このメソッドは、追加されるイメージのバイト配列形式と、イメージのファイル形式を表す静的変数の2つの変数を受け入れます。 * addPicture()*メソッドの使用法を以下に示します-
以下に示すように、* createPicture()*を使用してスライドに画像を埋め込みます-
以下は、プレゼンテーションのスライドに画像を追加するための完全なプログラムです-
上記のJavaコードを AddingImage.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
新しく追加された画像付きスライド付きのプレゼンテーションは次のように表示されます-
画像を読む
上記のJavaコードを Readingimage.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
Apache POI PPT-ハイパーリンクの作成
この章では、プレゼンテーションでハイパーリンクを作成する方法を学びます。
ハイパーリンクを作成する
以下に示すように、 XMLSlideShow クラスを使用して空のプレゼンテーションを作成します-
空のスライドを作成し、本文とコンテンツのレイアウトを使用してテキストボックスとスライドの本文を作成します。
テキスト実行オブジェクトを作成し、以下に示すようにテキストを設定します-
以下に示すように、 XSLFTextRun クラスの* createHyperlink()*メソッドを使用してハイパーリンクを作成します-
以下に示すように、 XSLFHyperlink クラスの* setAddress()*メソッドを使用して、ハイパーリンクへのリンクアドレスを設定します-
以下は、プレゼンテーションにハイパーリンクを作成するための完全なプログラムです-
上記のJavaコードを CreatingHyperlinks.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
本体にハイパーリンクを持つ新しく追加されたスライドは次のようになります-
Apache POI PPT-図形の読み取り
上記のJavaコードを ReadingShapes.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
コンパイルして実行し、次の出力を生成します。
さまざまな形状で新しく追加されたスライドは次のように表示されます-
Apache POI PPT-テキストのフォーマット
プレゼンテーションのテキストは、 XSLFTextRun クラスのメソッドを使用してフォーマットできます。 そのためには、以下に示すようにスライドレイアウトのいずれかを選択して XSLFTextRun クラスオブジェクトを作成する必要があります-
- setFontSize()*を使用して、プレゼンテーション内のテキストのフォントサイズを設定できます。
次のコードスニペットは、さまざまな書式設定スタイル(太字、斜体、下線、取り消し線)をプレゼンテーションのテキストに適用する方法を示しています。
段落間で改行するには、以下に示すように XSLFTextParagraph クラスの* addLineBreak()*を使用します-
上記のすべての方法を使用してテキストをフォーマットする完全なプログラムを以下に示します-
上記のコードを TextFormating.java として保存し、コマンドプロンプトから次のようにコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
フォーマットされたテキストを含むスライドは次のように表示されます-
Apache POI PPT-マージ
上記のコードを MergingMultiplePresentations.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
次のスナップショットは、最初のプレゼンテーションを示しています-
次のスナップショットは、2番目のプレゼンテーションを示しています-
以下は、2つのスライドを結合した後のプログラムの出力です。 ここでは、以前のスライドのコンテンツがマージされたことがわかります。
Apache POI PPT-PPT to Image
プレゼンテーションを画像ファイルに変換できます。 次のプログラムは、その方法を示しています。
上記のJavaコードを PpttoPNG.java として保存し、次のようにコマンドプロンプトからコンパイルして実行します-
次の出力を生成するためにコンパイルおよび実行されます-
次のスナップショットは、入力として与えられるプレゼンテーションを示しています-
以下は、指定された場所で作成されたイメージのスナップショットです。