O MS Word é uma ferramenta poderosa que permite personalizar e formatar seus documentos profissionais com um fantástico conjunto de recursos. Você pode se encontrar em situações em que deseja mesclar vários documentos do Word, como combinar todos os recibos em um único arquivo ou combinar os diferentes documentos de requisitos de software para facilitar o gerenciamento. Além disso, combinar os arquivos simplifica o processo de compartilhá-los. Neste artigo, você aprenderá a mesclar vários documentos do MS Word usando C++.
- API C++ para mesclar documentos do Word
- Combinar documentos do Word usando C++
- Mesclar documentos do Word com opções adicionais
- Obtenha uma licença gratuita
API C++ para mesclar documentos do Word
Aspose.Words for C++ é uma biblioteca nativa de C++ que permite criar, alterar e converter documentos do Microsoft Word. Além disso, também suporta a combinação de vários documentos do Word em um único arquivo. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.Words.Cpp
Mesclar documentos do Word usando C++
Mesclar documentos do Word com a API Aspose.Words para C++ é muito fácil. Você pode carregá-los e mesclá-los com apenas algumas linhas de código. A seguir está a imagem que mostra os dois arquivos de exemplo do Word que combinaremos neste artigo.
A seguir estão as etapas para mesclar documentos do Word usando C++.
- Carregue o documento de destino usando a classe Document.
- Carregue o documento de origem usando a classe Document.
- Use o Document->AppendDocument (System::SharedPtrAspose::Words::Document srcDoc, Aspose::Words::ImportFormatMode importFormatMode) da instância do documento de destino para mesclar os dois documentos.
- Defina a preferência de estilo para importar o documento de origem usando a enumeração ImportFormatMode.
- Salve o documento do Word mesclado usando o método Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat).
A seguir está o código de exemplo para mesclar documentos do Word.
// Exemplos de documentos do Word a serem mesclados
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";
// Carregar documentos do Word a serem mesclados
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);
// Mesclar documentos mantendo a formatação do arquivo de origem
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting);
// Caminho do arquivo de saída
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";
// Salvar documento mesclado como arquivo DOCX
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);
As imagens a seguir comparam os documentos mesclados gerados usando ImportFormatMode::KeepSourceFormatting e [ImportFormatMode](https://reference. aspose.com/words/cpp/namespace/aspose.words#aafaa52cbf0baa49c3225787c23a8c949)::UseDestinationStyles modes.
Mesclar documentos do Word com opções adicionais
Aspose.Words for C++ API fornece a classe ImportFormatOptions para personalizar a mesclagem de arquivos do Word. A seguir estão as opções fornecidas pela classe ImportFormatOptions.
- IgnoreHeaderFooter: especifica se a formatação do conteúdo de cabeçalhos/rodapés deve ser ignorada quando o modo ImportFormatMode::KeepSourceFormatting é usado.
- 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.
A seguir estão as etapas para mesclar vários documentos do Word com opções adicionais:
- Carregue o documento de destino usando a classe Document.
- Carregue o documento de origem usando a classe Document.
- Crie uma instância da classe ImportFormatOptions e defina as opções desejadas.
- Mescle os documentos usando Document->AppendDocument( System::SharedPtrAspose::Words::Document srcDoc, Aspose::Words::ImportFormatMode importFormatMode, System::SharedPtrAspose::Words::ImportFormatOptions importFormatOptions).
- Salve o documento do Word de destino usando o método Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat).
A seguir está o código de exemplo para mesclar documentos do Word com opções adicionais.
// Exemplos de documentos do Word a serem mesclados
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";
// Carregar documentos do Word a serem mesclados
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);
// Definir opções
auto options = MakeObject<Aspose::Words::ImportFormatOptions>();
options->set_IgnoreHeaderFooter(false);
// Mesclar documentos mantendo a formatação do arquivo de origem
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting, options);
// Caminho do arquivo de saída
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";
// Salvar documento mesclado como arquivo DOCX
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);
As imagens a seguir comparam os documentos mesclados gerados pela configuração da opção IgnoreHeaderFooter como true e false.
Obtenha uma licença gratuita
Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como mesclar vários documentos do Word usando C++. Além disso, você aprendeu a usar opções adicionais para personalizar a mesclagem de arquivos do Word. Aspose.Words for C++ API fornece vários recursos para trabalhar com arquivos do Word. Você pode explorar a API em detalhes usando a documentação oficial. Se você tiver alguma dúvida, não hesite em nos contatar no fórum.