ドキュメントの挿入と追加

場合によっては、複数の文書を 1 つに結合することが必要になることがあります。これは手動で行うことも、Aspose.Words の挿入または追加機能を使用することもできます。

挿入操作を使用すると、以前に作成したドキュメントのコンテンツを新規または既存のドキュメントに挿入できます。

さらに、追加機能を使用すると、別のドキュメントの末尾にのみドキュメントを追加できます。

この記事では、さまざまな方法でドキュメントを別のドキュメントに挿入または追加する方法について説明し、ドキュメントの挿入または追加中に適用できる共通のプロパティについて説明します。

ドキュメントを挿入する

前述したように、Aspose.Words ではドキュメントはノードのツリーとして表現され、あるドキュメントを別のドキュメントに挿入する操作は、最初のドキュメント ツリーから 2 番目のドキュメント ツリーにノードをコピーすることです。

ドキュメントをさまざまな場所にさまざまな方法で挿入できます。たとえば、置換操作、差し込み操作中の差し込みフィールド、またはブックマークを通じてドキュメントを挿入できます。

Microsoft Word にドキュメントを挿入するのと似た insert_document または insert_document_inline メソッドを使用して、事前にインポートを行わずにドキュメント全体を現在のカーソル位置に挿入することもできます。

次のコード例は、文書の挿入 メソッドを使用してドキュメントを挿入する方法を示しています。

次のコード例は、挿入_ドキュメント_インライン メソッドを使用してドキュメントを挿入する方法を示しています。

次のサブセクションでは、あるドキュメントを別のドキュメントに挿入できるオプションについて説明します。

ブックマークにドキュメントを挿入

テキスト ファイルをドキュメントにインポートし、ドキュメント内で定義したブックマークの直後に挿入できます。これを行うには、ドキュメントを挿入する場所にブックマーク付きの段落を作成します。

次のコーディング例は、あるドキュメントのコンテンツを別のドキュメントのブックマークに挿入する方法を示しています。

ドキュメントを追加する

ドキュメントから既存のドキュメントの最後まで追加のページを含める必要があるユースケースがあるかもしれません。これを行うには、append_document メソッドを呼び出してドキュメントを別のドキュメントの末尾に追加するだけです。

次のコード例は、ドキュメントを別のドキュメントの末尾に追加する方法を示しています。

ノードを手動でインポートおよび挿入する

Aspose.Words を使用すると、事前のインポート要件がなくても、ドキュメントを自動的に挿入および追加できます。ただし、ドキュメントの特定のノード (セクションや段落など) を挿入または追加する必要がある場合は、最初にこのノードを手動でインポートする必要があります。

あるセクションまたは段落を別のセクションまたは段落に挿入または追加する必要がある場合は、基本的に、import_node メソッドを使用して、最初のドキュメント ノード ツリーのノードを 2 番目のドキュメント ノード ツリーにインポートする必要があります。ノードをインポートした後、insert_after / insert_before メソッドを使用して、参照ノードの前後に新しいノードを挿入する必要があります。これにより、ドキュメントからノードをインポートし、指定された位置に挿入することで、挿入プロセスをカスタマイズできます。

たとえば、セクション レベルではなく段落レベルでコンテンツを追加する場合など、append_child メソッドを使用して、新しい指定したノードを子ノードのリストの末尾に追加することもできます。

次のコード例は、insert_after メソッドを使用してノードを手動でインポートし、特定のノードの後に挿入する方法を示しています。

コンテンツはセクションごとに宛先ドキュメントにインポートされます。つまり、ページ設定やヘッダーまたはフッターなどの設定はインポート中に保持されます。また、ドキュメントを挿入または追加するときに書式設定を定義して、2 つのドキュメントを結合する方法を指定できることにも注意してください。

挿入ドキュメントと追加ドキュメントの共通プロパティ

insert_document メソッドと append_document メソッドはどちらも、入力パラメータとして ImportFormatModeImportFormatOptions を受け入れます。 ImportFormatMode を使用すると、USE_DESTINATION_STYLESKEEP_SOURCE_FORMATTINGKEEP_DIFFERENT_STYLES などのさまざまな形式モードを選択することで、あるドキュメントから別のドキュメントにコンテンツをインポートするときに、ドキュメントの書式設定をどのようにマージするかを制御できます。 ImportFormatOptions では、ignore_header_footerignore_text_boxeskeep_source_numberingmerge_pasted_listssmart_style_behavior などのさまざまなインポート オプションを選択できます。

Aspose.Words を使用すると、SectionPageSetup を使用して挿入または追加操作で 2 つのドキュメントを一緒に追加するときに、結果として得られるドキュメントの視覚化を調整できます。 page_setup プロパティには、section_startrestart_page_numberingpage_starting_numberorientation などのセクションのすべての属性が含まれます。最も一般的な使用例は、追加されたコンテンツが同じページに表示されるか、新しいページに分割されるかを定義するために section_start プロパティを設定することです。

次のコード例は、コンテンツが 2 ページに分割されないようにしながら、あるドキュメントを別のドキュメントに追加する方法を示しています。