複数のMSWordドキュメントのマージは、ドキュメントの数を減らしたり、同様の種類のコンテンツを1つのファイル(つまり請求書)に保持したりするなど、さまざまなシナリオで必要になる可能性があります。多くのオンラインアプリケーションでは、2つ以上のMSWordドキュメントをマージできます。ただし、独自のWebまたはデスクトップアプリケーション内にドキュメントマージ機能を実装する必要がある場合があります。このような場合、この記事では、Javaを使用してMSWordDOCXドキュメントをマージする方法を学習します。
Word文書をJavaAPIとマージする
Aspose.Words for Javaは、Javaアプリケーション内でMS Word文書形式を作成、操作、および操作できる一般的なワードプロセッシングAPIです。幅広いドキュメント生成機能に加えて、APIを使用するとMSWordドキュメントを非常に簡単にマージできます。 APIをダウンロードするか、次の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.8</version>
<type>pom</type>
</dependency>
Javaを使用してMSWordDOCXドキュメントをマージする
Aspose.Words for Javaを使用してMSWord文書をマージするのは、簡単です。ドキュメントをロードし、単一のメソッドを呼び出してそれらをマージするだけです。以下は、次のコードサンプルでマージする2つのMSWordドキュメントです。
以下は、2つのMSWordドキュメントをマージする手順です。
- Documentクラスを使用して宛先のWord文書をロードします。
- Documentクラスを使用してソースWordドキュメントをロードします。
- Document.appendDocument(Document,ImportFormatMode)メソッドを使用して、ソースWordドキュメントを宛先ドキュメントにマージします。
- appendDocumentメソッドでImportFormatModeを設定して、ソースドキュメントのフォーマットを指定します。
- Document.save(string, SaveFormat)メソッドを使用して、宛先のWord文書を保存します。
次のコードサンプルは、Javaを使用してMS Wordドキュメント(DOCX)をマージする方法を示しています。
// マージするWordドキュメントを読み込む
Document doc1 = new Document("sample1.docx");
Document doc2 = new Document("sample4.docx");
// ソースファイルのフォーマットを維持しながらドキュメントをマージする
doc1.appendDocument(doc2, ImportFormatMode.KEEP_SOURCE_FORMATTING);
// マージされたドキュメントをDOCXファイルとして保存します
doc1.save("merged.docx", SaveFormat.DOCX);
以下は、マージされたMSWordドキュメントのスクリーンショットです。
MSWordDOCXを追加オプションとマージする
Aspose.Words for Javaには、マージの実行後にソースドキュメントの外観をカスタマイズするための追加オプションもいくつか用意されています。 ImportFormatOptionsクラスは、次のカスタマイズオプションを提供します。
- setIgnoreHeaderFooter(ブール値)– ImportFormatMode.KEEPSOURCEFORMATTINGモードが使用されている場合、ヘッダー/フッターコンテンツのソースフォーマットが無視されることを指定します。
- setIgnoreTextBoxes(ブール値)– ImportFormatMode.KEEPSOURCEFORMATTINGモードが使用されている場合、テキストボックスコンテンツのソースフォーマットが無視されることを指定します。
- setKeepSourceNumbering(ブール値)–ソースドキュメントと宛先ドキュメントで衝突したときに番号をインポートする方法を指定します。
- setSmartStyleBehavior(ブール値)–ソースドキュメントと宛先ドキュメントに類似した名前がある場合にスタイルをインポートする方法を指定します。
以下は、2つのMSWordドキュメントを追加のオプションとマージする手順です。
- Documentクラスを使用して宛先Wordドキュメントをロードします。
- Documentクラスを使用してソースWordドキュメントをロードします。
- ImportFormatOptionsクラスのインスタンスを作成し、必要なオプションを設定します。
- Document.appendDocument(Document,ImportFormatMode, ImportFormatOptions)メソッドを使用して、ソースWordドキュメントを宛先ドキュメントにマージします。
- Document.save(string, SaveFormat)メソッドを使用して、宛先のWord文書を保存します。
次のコードサンプルは、Javaを使用して2つのMSWordドキュメントを追加のオプションとマージする方法を示しています。
// マージするWordドキュメントを読み込む
Document doc1 = new Document("sample1.docx");
Document doc2 = new Document("sample4.docx");
// オプションを設定する
ImportFormatOptions options = new ImportFormatOptions();
options.setIgnoreHeaderFooter(true);
//options.setIgnoreTextBoxes(true);
//options.setKeepSourceNumbering(true);
//options.setSmartStyleBehavior(true);
// 宛先ファイルのスタイルを維持したままドキュメントをマージする
doc1.appendDocument(doc2, ImportFormatMode.USE_DESTINATION_STYLES, options);
// マージされたドキュメントをDOCXファイルとして保存します
doc1.save("merged-customized.docx", SaveFormat.DOCX);
結論
この記事では、Javaを使用してMSWordDOCXドキュメントをマージする方法を見てきました。さらに、追加のオプションを使用してドキュメントのマージ機能をカスタマイズする方法を学習しました。 ドキュメントを使用して、Aspose.Words for Javaの詳細を調べることができます。