Word文書をマージする

MS Wordは、優れた機能セットを使用してプロフェッショナルドキュメントをカスタマイズおよびフォーマットできる強力なツールです。すべての領収書を1つのファイルにまとめたり、管理を容易にするために異なるソフトウェア要件ドキュメントを組み合わせたりするなど、複数のWordドキュメントをマージしたい場合があります。さらに、ファイルを組み合わせると、ファイルを共有するプロセスが簡素化されます。この記事では、C++を使用して複数のMSWord文書をマージする方法を学習します。

Word文書をマージするためのC++API

Aspose.Words for C++はネイティブC++ライブラリであり、Microsoft Wordドキュメントを作成、変更、および変換できます。さらに、複数のWord文書を1つのファイルに結合することもサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.Words.Cpp

C++を使用してWord文書をマージする

Word文書をAspose.Words for C++ APIとマージするのは簡単です。ほんの数行のコードでそれらをロードしてマージできます。以下は、この記事で組み合わせる2つのサンプルWordファイルを示す画像です。

マージするWord文書

以下は、C++を使用してWord文書をマージするための手順です。

以下は、Word文書をマージするためのサンプルコードです。

// マージするサンプルWord文書
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";

// マージするWordドキュメントを読み込む
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);

// ソースファイルのフォーマットを維持しながらドキュメントをマージする
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting);

// 出力ファイルパス
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";

// マージされたドキュメントをDOCXファイルとして保存します
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);

次の画像は、ImportFormatMode::KeepSourceFormattingとImportFormatMode::UseDestinationStylesモード。

ImportFormatOptions::KeepSourceFormattingを使用して生成されたマージされたWord文書

ImportFormatMode::KeepSourceFormattingを使用して生成された出力

ImportFormatOptions::UseDestinationStylesを使用して生成されたマージされたWord文書

ImportFormatMode::UseDestinationStylesを使用して生成された出力

Word文書を追加オプションとマージする

Aspose.Words for C++ APIは、WordファイルのマージをカスタマイズするためのImportFormatOptionsクラスを提供します。以下は、ImportFormatOptionsクラスによって提供されるオプションです。

  • IgnoreHeaderFooter: ImportFormatMode::KeepSourceFormattingモードが使用されている場合に、ヘッダー/フッターコンテンツのフォーマットを無視するかどうかを指定します。
  • IgnoreTextBoxes: ImportFormatMode::KeepSourceFormattingモードが使用されている場合に、テキストボックスのソースフォーマットを無視するかどうかを指定します。
  • KeepSourceNumbering: ソースドキュメントと宛先ドキュメントで番号が競合する場合に番号をインポートする方法を指定します。
  • SmartStyleBehavior: ソースドキュメントと宛先ドキュメントで同じ名前のスタイルをインポートする方法を指定します。

以下は、複数のWord文書を追加のオプションとマージする手順です。

以下は、Word文書を追加のオプションとマージするためのサンプルコードです。

// マージするサンプルWord文書
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";

// マージするWordドキュメントを読み込む
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);

// オプションを設定する
auto options = MakeObject<Aspose::Words::ImportFormatOptions>();
options->set_IgnoreHeaderFooter(false);

// ソースファイルのフォーマットを維持しながらドキュメントをマージする
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting, options);

// 出力ファイルパス
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";

// マージされたドキュメントをDOCXファイルとして保存します
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);

次の画像は、IgnoreHeaderFooterオプションをtrueとfalseに設定して生成されたマージされたドキュメントを比較しています。

IgnoreHeaderFooterオプションをtrueに設定して生成されたマージされたWord文書

IgnoreHeaderFooterオプションをtrueに設定して生成された出力

IgnoreHeaderFooterオプションをfalseに設定して生成されたマージされたWord文書

IgnoreHeaderFooterオプションをfalseに設定して生成された出力

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

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C++を使用して複数のWord文書をマージする方法を学びました。さらに、Wordファイルのマージをカスタマイズするための追加オプションの使用方法を学習しました。 Aspose.Words for C++ APIは、Wordファイルを操作するための一連の機能を提供します。 公式ドキュメントを使用して、APIを詳細に調べることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目