Microsoft Word Automation — Javaを使用してWord文書を作成、編集、または変換する

Wordの自動化により、Microsoft Officeを使用せずに、新しいWord文書を作成したり、既存の文書を編集または変更したり、他の形式に変換したりできます。 MS Wordのユーザーインターフェイスを介して実行できるすべてのアクションは、自動化を使用してプログラムで実行することもできます。この記事では、MS Wordを自動化して、Javaを使用してWord文書を作成、編集、または変換する方法を学習します。

この記事では、次のトピックについて説明します。

Word文書を作成、編集、または変換するJava Word Automation API

Wordの自動化には、Aspose.Words for JavaAPIを使用します。これは、Word文書をプログラムで作成、編集、または分析するための、完全で機能豊富なWord自動化ソリューションです。 APIのJARをダウンロードするか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加してください。

<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>21.11</version>
    <type>pom</type>
</dependency>

Javaを使用してWord文書を作成する

以下の手順に従って、プログラムでWord文書を作成できます。

  • まず、Documentクラスのインスタンスを作成します。このクラスはWord文書を表します。
  • 次に、Documentオブジェクトを引数としてDocumentBuilderクラスのインスタンスを作成します。このクラスは、テキスト、画像、その他のコンテンツを挿入したり、フォント、段落、セクションの書式を指定したりするためのメソッドを提供します。
  • 次に、要素を挿入/書き込みして、DocumentBuilderオブジェクトを使用してテキスト、段落、表、または画像を追加します。
  • 最後に、出力ファイルパスを指定してDocument.save()メソッドを呼び出し、作成したファイルを保存します。

次のコードサンプルは、Javaを使用してWord文書(DOCX)を作成する方法を示しています。

// ドキュメントを開きます。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 次の要素のフォントを設定する
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// テキストを挿入
builder.writeln("Welcome!");

// 次の要素のフォントを設定する
font.setSize(12);
font.setBold(false);

// 段落を挿入
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// テーブルを挿入します
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

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.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// 画像を挿入する
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// ページ分割を挿入 
builder.insertBreak(BreakType.PAGE_BREAK);             
// ページ分割後のすべての要素が次のページに挿入されます。

// ドキュメントを保存する
doc.save("C:\\Files\\Words\\document.docx");
Javaを使用してWord文書を作成する

Javaを使用してWord文書を作成します。

Javaを使用してWord文書を編集または変更する

前のセクションでは、Word文書を作成しました。それでは、それを編集して、ドキュメントの内容を変更しましょう。以下の手順に従って、Word文書をプログラムで編集できます。

  • まず、入力ファイルのパスを引数としてDocumentクラスを使用してWord文書を読み込みます。
  • 次に、インデックスで特定のセクションにアクセスします。
  • 次に、Runクラスのオブジェクトとして最初の段落のコンテンツにアクセスします。 Runクラスは、同じフォント形式の文字の実行を表します。ドキュメントのすべてのテキストは、一連のテキストに保存されます。
  • その後、アクセスした段落の更新するテキストを設定します。
  • 最後に、出力ファイルパスを指定してDocument.save()メソッドを呼び出し、更新されたファイルを保存します。

次のコードサンプルは、Javaを使用してWord文書(DOCX)を編集する方法を示しています。

// ドキュメントを読み込む
Document doc = new Document("C:\\Files\\Words\\document.docx");

// 段落にアクセスする
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// ドキュメントを保存する
doc.save("C:\\Files\\Words\\Document_updated.docx");
Javaを使用してWord文書を編集または変更する

Javaを使用してWord文書を編集または変更します。

Javaを使用してWord文書内のテキストを検索して置換する

APIの検索と置換のメカニズムを使用して、Word文書のコンテンツを更新することもできます。以下の手順に従って、プログラムでこれを行うことができます。

  • まず、入力ファイルのパスを引数としてDocumentクラスを使用してWord文書を読み込みます。
  • 次に、FindReplaceOptionsクラスのインスタンスを作成します。
  • 次に、replace()メソッドを、検索文字列、置換文字列、およびFindReplaceOptionsオブジェクトを引数として呼び出します。このメソッドは、検索文字列が出現するたびに置換文字列に置き換えます。
  • 最後に、出力ファイルパスを指定してDocument.save()メソッドを呼び出し、更新されたファイルを保存します。

次のコードサンプルは、Javaを使用してWord文書(DOCX)内の特定のテキストを検索して置換する方法を示しています。

// ドキュメントを読み込む
Document doc = new Document("C:\\Files\\Words\\document.docx");

// 検索と置換を使用して更新
// 検索文字列を指定し、Replaceメソッドを使用して文字列を置き換えます。
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// ドキュメントを保存する
doc.save("C:\\Files\\Words\\Document_updated.docx");
Javaを使用してWord文書内のテキストを検索して置換する

Javaを使用してWord文書内のテキストを検索して置換する

Javaを使用してWord文書を変換する

以下の手順に従って、Word文書をPDF、XPS、EPUB、HTML、JPG、PNGなどの他の形式にプログラムで変換できます。

  • まず、入力ファイルのパスを引数としてDocumentクラスを使用してWord文書を読み込みます。
  • 次に、Documentオブジェクトを引数としてPdfSaveOptionsクラスのインスタンスを作成します。このクラスは、ドキュメントをPDFに保存するときに追加のオプションを提供します。
  • 次に、PdfSaveOptions.CompliancePdfCompliance.PDF17に設定して、出力ドキュメントのPDF標準準拠レベルを指定します。
  • 最後に、出力ファイルのパスとPdfSaveOptionsオブジェクトを引数としてDocument.save()メソッドを呼び出し、PDFファイルを保存します。

次のコードサンプルは、Javaを使用してWord文書(DOCX)をPDFに変換する方法を示しています。

// ドキュメントを読み込む
Document doc = new Document("C:\\Files\\Words\\document.docx");

// PDF17へのPDFSaveOption準拠を提供します
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// WordをPDFに変換
doc.save("C:\\Files\\Words\\output.pdf", options);
Word文書をPDFに変換します。

Javaを使用してWord文書を変換する

Javaを使用してWord文書を解析する

以下の手順に従って、Word文書を解析し、プログラムでコンテンツをプレーンテキストとして抽出できます。

  • 入力ファイルパスを引数としてDocumentクラスを使用してWord文書をロードします。
  • Document.save()メソッドを呼び出して、Word文書をテキストファイルとして保存します。このメソッドは、出力ファイルのパスを引数として取ります。

次のコードサンプルは、Javaを使用してWord文書(DOCX)を解析する方法を示しています。

// ディスクからドキュメントをロードします。
Document doc = new Document("C:\\Files\\Words\\document.docx");

// プレーンテキストとして保存 
doc.save("C:\\Files\\Words\\output.txt");
Word文書からテキストを抽出します。

Javaを使用してWord文書を解析します。

無料ライセンスを取得する

無料の一時ライセンスをリクエストして、評価制限なしでAPIを試してください。

結論

この記事では、Javaを使用してWord文書を作成、編集、または変換するためにWordを自動化する方法を学びました。また、プログラムでWord文書内のテキストを検索して置換する方法も確認しました。さらに、ドキュメントを使用して、Aspose.Words forJavaAPIの詳細を学ぶことができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目