Inserir e anexar documentos

Às vezes é necessário combinar vários documentos em um. Você pode fazer isso manualmente ou você pode usar Aspose.Words inserir ou anexar recurso.

A operação de inserção permite inserir o conteúdo de documentos previamente criados em um novo ou existente.

Por sua vez, o recurso de apêndice permite adicionar um documento apenas no final de outro documento.

Este artigo explica como inserir ou anexar um documento a outro de maneiras diferentes e descreve as propriedades comuns que você pode aplicar ao inserir ou anexar documentos.

Insira um documento

Como mencionado acima, em Aspose.Words um documento é representado como uma árvore de nós, e a operação de inserir um documento em outro é copiar nós da primeira árvore de documentos para o segundo.

Você pode inserir documentos em uma variedade de locais de maneiras diferentes. Por exemplo, você pode inserir um documento através de uma operação de substituição, um campo de mesclagem durante uma operação de mesclagem, ou através de um marcador.

Você também pode usar o InsertDocument ou o InsertDocumentInline método, que é semelhante a inserir um documento em Microsoft Word, inserir um documento inteiro na posição atual do cursor sem qualquer importação anterior.

O exemplo de código a seguir mostra como inserir um documento usando o InsertDocument método:

O exemplo de código a seguir mostra como inserir um documento usando o InsertDocumentInline método:

As seguintes subseções descrevem as opções durante as quais você pode inserir um documento em outro.

Insira um documento durante a operação Localizar e Substituir

Você pode inserir documentos ao executar encontrar e substituir operações. Por exemplo, um documento pode conter parágrafos com o texto [INTRODUÇÃO] e [CONCLUSÃO]. Mas no documento final, você precisa substituir esses parágrafos com o conteúdo obtido de outro documento externo. Para conseguir isso, você precisará criar um manipulador para o evento de substituição.

O exemplo de código a seguir mostra como criar um manipulador para o evento de substituição para usá-lo mais tarde no processo de inserção:

O exemplo de código a seguir mostra como inserir conteúdo de um documento em outro durante uma operação de busca e substituição:

Insira um documento durante Mail Merge Operação

Você pode inserir um documento em um campo de mesclagem durante um mail merge operação. Por exemplo, um mail merge template pode conter um campo de mesclagem, como [Summary]. Mas no documento final, você precisa inserir conteúdo obtido a partir de outro documento externo neste campo de mesclagem. Para conseguir isso, você precisará criar um manipulador para o evento de mesclagem.

O exemplo de código a seguir mostra como criar um manipulador para o evento de fusão para usá-lo mais tarde no processo de inserção:

O exemplo de código a seguir mostra como inserir um documento no campo de mesclagem usando o manipulador criado:

Insira um documento no Bookmark

Você pode importar um arquivo de texto em um documento e inseri-lo logo após um marcador que você definiu no documento. Para fazer isso, crie um parágrafo marcador onde deseja que o documento seja inserido.

O seguinte exemplo de codificação mostra como inserir o conteúdo de um documento em outro documento:

Anexar um documento

Você pode ter um caso de uso onde você precisa incluir páginas adicionais de um documento até o final de um documento existente. Para fazer isso, basta ligar para o AppendDocument método para adicionar um documento ao fim de outro.

O exemplo de código a seguir mostra como anexar um documento ao final de outro documento:

Importar e inserir nós manualmente

Aspose.Words permite inserir e anexar documentos automaticamente sem quaisquer requisitos de importação anteriores. No entanto, se você precisar inserir ou anexar um nó específico do seu documento, como uma seção ou um parágrafo, primeiro você precisa importar esse nó manualmente.

Quando você precisa inserir ou anexar uma seção ou parágrafo para outra, você essencialmente precisa importar os nós da primeira árvore do nó do documento no segundo usando o ImportNode método. Depois de importar seus nós, você precisa usar o InsertAfter método para inserir um novo nó após/antes do nó de referência. Isso permite que você personalize o processo de inserção importando nós de um documento e inseri-lo em determinadas posições.

Você também pode usar o AppendChild método para adicionar um novo nó especificado ao final da lista de nós de criança, por exemplo, se você quiser anexar conteúdo no nível de parágrafo em vez de no nível de seção.

O exemplo a seguir mostra como importar nós manualmente e inseri-los após um nó específico usando o InsertAfter método:

O conteúdo é importado na seção de documento de destino por seção, o que significa que as configurações, como configuração de página e cabeçalhos ou rodapés, são preservadas durante a importação. Também é útil notar que você pode definir configurações de formatação quando você inserir ou anexar um documento para especificar como dois documentos são unidos.

Propriedades comuns para documentos de inserção e anexo

Ambos InsertDocument e AppendDocument métodos aceitar ImportFormatMode e ImportFormatOptions como parâmetros de entrada. O ImportFormatMode permite que você controle como a formatação do documento é mesclada quando você importar conteúdo de um documento para outro selecionando diferentes modos de formato, como UseDestinationStyles, KeepSourceFormatting, e KeepDifferentStyles. O ImportFormatOptions permite selecionar diferentes opções de importação, como IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, e SmartStyleBehavior.

Aspose.Words permite ajustar a visualização de um documento resultante quando dois documentos são adicionados juntos em uma operação de inserção ou anexo usando o Section e PageSetup propriedades. O PageSetup propriedade contém todos os atributos de uma seção, como SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, e outros. O caso de uso mais comum é definir o SectionStart propriedade para definir se o conteúdo adicionado aparecerá na mesma página ou se dividirá em uma nova.

O exemplo de código a seguir mostra como anexar um documento para outro, mantendo o conteúdo de dividir em duas páginas: