PPTX プレゼンテーション ドキュメント用の Java API
Java アプリケーションで Microsoft プレゼンテーション ファイルを作成、読み取り、編集、変換するオープン ソース ソリューション。
DOCX4J は Microsoft の OpenXML SDK に似ていますが、Java 用です。 DOCX4J は、Microsoft Office ファイル形式を操作するための JAXB ベースのオープン ソース (Apache v2) ライブラリです。 Microsoft Office 2007 PPTX ファイル形式の読み取り、書き込み、編集、および保存する機能を提供します。
API を使用すると、プレゼンテーション ドキュメントの生成、編集、テキストと段落の書式設定、表と画像の挿入、その他のフォーム要素の管理などを行うことができます。基本的に、その強調はパワーに重点を置いています。形式がサポートしている場合は、API を使用して実行できます。
DOCX4J 入門
まず、システムに Java Development Kit (JDK) をインストールする必要があります。 Maven ベースの Java プロジェクトで DOCX4J を参照するのはさらに簡単です。必要なのは、pom.xml に次の依存関係を追加し、IDE が DOCX4J Jar ファイルを取得して参照できるようにすることだけです。
DOCX4J Maven 依存関係
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
Java を使用して PPTX を生成および変更する
DOCX4J を使用すると、スライドの追加、新しいスライドのレイアウトの指定、タイトルとコンテンツの追加、画像や図形の挿入などを行うことができます。完了したら、既存のプレゼンテーションの名前を変更したり、選択した場所に保存したりできます。
DOCX4J を使用して PPTX を生成する - Java
// Create package
PresentationMLPackage presentationMLPackage = PresentationMLPackage.createPackage();
// Create main presentation
MainPresentationPart pp = (MainPresentationPart) presentationMLPackage.getParts().getParts().get(new
PartName("/ppt/presentation.xml"));
// Create slide layout
SlideLayoutPart layoutPart = (SlideLayoutPart)
presentationMLPackage.getParts().getParts()
.get(new PartName("/ppt/slideLayouts/slideLayout2.xml"));
// Save presentation
presentationMLPackage.save(new File("FileFormat.pptx"));
Java API を使用してスライドを抽出および操作する
DOCX4J を使用すると、ソフトウェア プログラマーは PPTX ファイル形式からスライドを作成および抽出できます。ソフトウェア プログラマーは、既存のプレゼンテーションに簡単にスライドを追加できます。プレゼンテーションのすべてのスライドは、スライド レイアウトに基づいています。スライド レイアウトはスライドのテンプレートのようなもので、ユーザーは書式設定の選択、テキスト ボックス、タイトル、グラフィックなどを継承できます。
DOCX4J を使用したチャートの操作
DOCX4J は、単一系列の縦棒グラフ、複数系列のグラフ、バブル チャート、折れ線グラフ、円グラフなどを追加するための特殊なクラスを提供します。