MS Word 是一个强大的工具,它允许您使用一组出色的功能自定义和格式化您的专业文档。您可能会发现自己需要合并多个 Word 文档,例如将所有收据合并到一个文件中或合并不同的软件需求文档以便于管理。此外,合并文件简化了共享它们的过程。在本文中,您将学习如何使用 C++ 合并多个 MS Word 文档。
用于合并 Word 文档的 C++ API
Aspose.Words for C++ 是一个原生 C++ 库,允许您创建、更改和转换 Microsoft Word 文档。此外,它还支持将多个 Word 文档合并到一个文件中。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。
PM> Install-Package Aspose.Words.Cpp
使用 C++ 合并 Word 文档
将 Word 文档与 Aspose.Words for C++ API 合并是一件轻而易举的事。您只需几行代码即可加载和合并它们。下图显示了我们将在本文中合并的两个示例 Word 文件。
以下是使用 C++ 合并 Word 文档的步骤。
- 使用 Document 类加载目标文档。
- 使用 Document 类加载源文档。
- 使用 Document->AppendDocument (System::SharedPtrAspose::Words::Document srcDoc, Aspose::Words::ImportFormatMode importFormatMode) 目标文档实例的方法来合并两个文档。
- 使用 ImportFormatMode 枚举设置导入源文档的样式首选项。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存合并的 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](https://reference. aspose.com/words/cpp/namespace/aspose.words#aafaa52cbf0baa49c3225787c23a8c949)::UseDestinationStyles 模式。
使用其他选项合并 Word 文档
Aspose.Words for C++ API 提供 ImportFormatOptions 类用于自定义 Word 文件的合并。以下是 ImportFormatOptions 类提供的选项。
- IgnoreHeaderFooter:指定在使用 ImportFormatMode::KeepSourceFormatting 模式时是否忽略页眉/页脚内容的格式。
- IgnoreTextBoxes: Specifies whether to ignore the source formatting of textboxes when the ImportFormatMode::KeepSourceFormatting mode is used.
- KeepSourceNumbering: Specifies how to import the numbering when it conflicts in source and destination documents.
- SmartStyleBehavior: Specifies how to import styles when they have the same names in source and destination documents.
以下是将多个 Word 文档与其他选项合并的步骤:
- 使用 Document 类加载目标文档。
- 使用 Document 类加载源文档。
- 创建 ImportFormatOptions 类的实例并设置所需的选项。
- 使用 Document->AppendDocument( System::SharedPtr 合并文档Aspose::Words::DocumentsrcDoc, Aspose::Words::ImportFormatMode importFormatMode, System::SharedPtrAspose::Words::ImportFormatOptions importFormatOptions) 方法。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存目标 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 生成的合并文档。
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C++ 合并多个 Word 文档。此外,您还学习了如何使用附加选项来自定义 Word 文件的合并。 Aspose.Words for C++ API 提供了一系列处理 Word 文件的功能。您可以使用 官方文档 详细探索 API。如果您有任何问题,请随时在 论坛 上与我们联系。