時には、関連する複数の Word ドキュメントを統合して、より完全なドキュメントを作成する必要があります。MS Word でドキュメントを結合するには、手動でコンテンツをコピー&ペーストするか、他のドキュメントからコンテンツをインポートする必要があります。しかし、多くのドキュメントを結合する場合、この方法は面倒なことがあります。幸いにも、Spire.Doc for Java は、プログラミングによって Word ドキュメントを結合する2つの簡単な方法を提供しています。この記事では、Word ドキュメントを結合するための詳細な手順を説明します。
Spire.Doc for Java をインストールします
まず、Spire. Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>10.7.4</version>
</dependency>
</dependencies>
ドキュメント全体の挿入によるドキュメントの結合
Spire.Doc for Java が提供する Document.insertTextFromFile() というメソッドは、他のドキュメントを丸ごと挿入して Word ドキュメントを結合し、挿入内容を新しいページから始めることができます。
ファイル全体を挿入してドキュメントを結合する詳細な手順は、以下の通りです。
- Document のオブジェクトを作成し、Word ドキュメントを読み込みます。
- Document.insertTextFromFile() メソッドを使用して、読み込んだドキュメントに別の Word ドキュメントを完全に挿入します。
- Document.saveToFile() メソッドを使用して、結果ドキュメントを保存します。
- Java
import com.spire.doc.*;
public class MergeByInserting {
public static void main(String[] args) {
//Documentのオブジェクトを作成し、Wordドキュメントを読み込む
Document document = new Document("C:/宇宙の視野.docx");
//別のWordドキュメントをこのドキュメントに完全に挿入する
document.insertTextFromFile("C:/狼はどこに行ったの.docx", FileFormat.Docx_2013);
//結果ドキュメントを保存する
document.saveToFile("結合の結果.docx", FileFormat.Docx_2013);
}
}
コンテンツのコピーによるドキュメントの結合
新しいページを始めずにドキュメントを結合したい場合、他のドキュメントの内容をクローンしてドキュメントの末尾に追加することができます。
コンテンツをコピーしてドキュメントを結合する詳しい手順は、以下のとおりです。
- Document のオブジェクトを2つ作成し、2つの Word ドキュメントを読み込みます。
- 2つ目のドキュメントをループして Document.getSections() メソッドですべてのセクションを取得し、すべてのセクションをループして Section.getBod().getChildObjects() メソッドでその子オブジェクトを取得します。次に、Document.getLastSection() メソッドで最初のドキュメントの最後のセクションを取得し、Body.getChildObjects().add() メソッドで最初のドキュメントの最後のセクションに子供オブジェクトを追加します。
- Document.saveToFile() メソッドを使用して、結果ドキュメントを保存します。
- Java
import com.spire.doc.*;
public class MergeByCopying {
public static void main(String[] args) {
//2つのDocumentオブジェクトを作成し、2つのWordドキュメントを読み込む
Document document1 = new Document("C:/宇宙の視野.docx");
Document document2 = new Document("C:/狼はどこに行ったの.docx");
//2つ目のドキュメントをループして、すべてのセクションを取得する
for (Object sectionObj : document2.getSections()) {
Section sec=(Section)sectionObj;
//2つ目のドキュメントのセクションをループして、その子オブジェクトを取得する
for (Object docObj : sec.getBody().getChildObjects()) {
DocumentObject obj=(DocumentObject)docObj;
//最初のドキュメントの最後のセクションを取得する
Section lastSection = document1.getLastSection();
//最初のドキュメントの最後のセクションに子オブジェクトを追加する
Body body = lastSection.getBody();
body.getChildObjects().add(obj.deepClone());
}
}
//結果ドキュメントを保存する
document1.saveToFile("結合の結果.docx", FileFormat.Docx_2013);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。