近年、Word文書の動的生成は、レポート、見積もり、請求書、およびその他の種類の文書を作成するための一般的な機能になっています。さまざまな製造会社が、データベースに保存されているデータに基づいて請求書を作成します。このような場合、ドキュメントの自動化により、手動のドキュメント作成プロセスに必要な時間、労力、およびリソースを節約できます。この記事は、ドキュメント自動化プロセスを対象とし、JavaでプログラムによってWordドキュメントを作成する方法を説明することを目的としています。
Wordドキュメントを作成するためのJavaAPI
この記事では、JavaベースのアプリケーションでWord文書を作成、編集、または変換するための機能豊富なAPIであるAspose.Words for Javaを使用します。 APIのJARをダウンロードするか、次のMaven構成を使用してインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.2</version>
<classifier>jdk17</classifier>
</dependency>
次のセクションでは、Javaを使用して、テキスト、段落、表、リスト、画像などのさまざまな要素を含むWord文書をプログラムで作成する方法を学習します。
Javaを使用してWord文書を作成する
ほとんどの場合、Word文書のコンテンツのかなりの部分はテキストに基づいています。したがって、見出しと段落を含むWord文書を作成することから始めます。 Word文書を作成する手順は次のとおりです。
- まず、Documentクラスのインスタンスを作成します。
- DocumentBuilderオブジェクトを作成し、Documentオブジェクトで初期化します。
- Fontクラスを使用して、フォントサイズ、ファミリなどを設定します。
- ParagraphFormatクラスを使用して段落のプロパティを設定します。
- DocumentBuilder.write()メソッドを使用してドキュメントにテキストを書き込みます。
- 最後に、Document.save()メソッドを呼び出してドキュメントを作成します。
次のコードサンプルは、Javaでテキストを含むWord文書を作成する方法を示しています。
// Documentオブジェクトを作成する
Document doc = new Document();
// DocumentBuilderオブジェクトを作成します
DocumentBuilder builder = new DocumentBuilder(doc);
// フォントの書式を指定する
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// 段落を開始します
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// ドキュメントを保存する
doc.save("Rich Word Document.docx");
出力
Javaを使用してテーブルを持つWord文書を作成する
Word文書の表は、行と列の形式でコンテンツを整理するために使用されます。このセクションでは、2つの行と2つの列を含む単純なテーブルを作成します。テーブルの作成には、次の4つの基本操作が含まれます。
- テーブルを開始します
- セルの挿入
- 行を終了します
- テーブルを終了する
以下は、Javaを使用してWord文書にテーブルを作成する手順です。
- まず、DocumentおよびDocumentBuilderクラスのオブジェクトを作成します。
- Tableクラスを使用してテーブルを作成します。
- DocumentBuilder.insertCell()メソッドを使用してセルを挿入します。
- 要件に従ってテーブルのプロパティを設定します。
- DocumentBuilder.write()メソッドを使用してセルにテキストを追加します。
- DocumentBuilder.endRow()メソッドとDocumentBuilder.endTable()メソッドをそれぞれ使用して、行とテーブルを終了します。
- 最後に、ドキュメントを保存します。
次のサンプルは、Word文書にテーブルを作成する方法を示しています。
// Documentオブジェクトを作成する
Document doc = new Document();
// DocumentBuilderオブジェクトを作成します
DocumentBuilder builder = new DocumentBuilder(doc);
// テーブルを作成する
Table table = builder.startTable();
// セルを挿入します
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// 終了行
builder.endRow();
// 次の行を開始し、そのプロパティを設定します
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// エンドテーブル
builder.endTable();
// ドキュメントを保存する
doc.save("Rich Word Document.docx");
出力
Javaを使用してWord文書でリストを作成する
Word文書にリストを追加する手順は次のとおりです。
- まず、Documentクラスのオブジェクトを作成します。
- Document.getLists(.add()メソッドを使用して、目的のタイプのリストをドキュメントに追加します。
- ドキュメントからListオブジェクトにリストを取得します。
- DocumentBuilderオブジェクトを使用してリストにデータを入力します。
- 最後に、ドキュメントを保存します。
次のコードサンプルは、Javaを使用してWord文書でリストを作成する方法を示しています。
// Documentオブジェクトを作成する
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// trueに設定すると、各セクションでリストを再開する必要があることを指定します。
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
builder.writeln(String.format("List Item " + i));
// セクションブレークを挿入します。
if (i == 15)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// ドキュメントを保存する
doc.save("Rich Word Document.docx");
出力
Javaを使用してWord文書に画像を挿入する
Word文書への画像の挿入は、パイと同じくらい簡単です。この操作を実行するための簡単な手順は次のとおりです。
- まず、Documentクラスのオブジェクトを作成します。
- DocumentBuilderクラスのオブジェクトを作成し、Documentオブジェクトで初期化します。
- DocumentBuilder.insertImage()メソッドを使用して画像を挿入します。
- 最後に、ドキュメントを保存します。
次のコードサンプルは、Javaを使用してWordドキュメントに画像を挿入する方法を示しています。
// Documentオブジェクトを作成する
Document doc = new Document();
// DocumentBuilerを作成する
DocumentBuilder builder = new DocumentBuilder(doc);
// 画像を挿入
builder.insertImage("aspose-words.png");
// ドキュメントを保存する
doc.save("Rich Word Document.docx");
出力
結論
この記事では、Javaを使用してプログラムでリッチなWord文書を作成する方法を学びました。さらに、コードサンプルは、テキスト、表、画像、およびリストをWord文書に追加する方法を示しています。 Aspose.Words for Javaを使用して、さまざまな要素をWord文書に挿入する方法について続きを読むことができます。
Aspose.Words for Javaを無料でお試しください
無料の一時ライセンスを取得して、試用の制限なしにAspose.Words for Javaを試して使用できます。