Inserir e anexar documentos
Às vezes é necessário combinar vários documentos em um. Você pode fazer isso manualmente ou usar o recurso de inserção ou acréscimo de Aspose.Words.
A operação de inserção permite inserir o conteúdo de documentos criados anteriormente em um documento novo ou existente.
Por sua vez, o recurso anexar permite adicionar um documento apenas no final de outro documento.
Este artigo explica como inserir ou anexar um documento a outro de diferentes maneiras e descreve as propriedades comuns que você pode aplicar ao inserir ou anexar documentos.
Insira um documento
Conforme mencionado acima, no Aspose.Words um documento é representado como uma árvore de nós, e a operação de inserir um documento em outro é copiar os nós da primeira árvore de documentos para a segunda.
Você pode inserir documentos em vários locais de diferentes maneiras. Por exemplo, você pode inserir um documento por meio de uma operação de substituição, de um campo de mesclagem durante uma operação de mesclagem ou de um marcador.
Você também pode usar o método insert_document ou insert_document_inline, que é semelhante à inserção de um documento em Microsoft Word, para inserir um documento inteiro na posição atual do cursor sem qualquer importação prévia.
O exemplo de código a seguir mostra como inserir um documento usando o método inserir_documento:
O exemplo de código a seguir mostra como inserir um documento usando o método insert_document_inline:
As subseções a seguir descrevem as opções durante as quais você pode inserir um documento em outro.
Insira um documento no marcador
Você pode importar um arquivo de texto para um documento e inseri-lo logo após um marcador definido no documento. Para fazer isso, crie um parágrafo marcado onde deseja que o documento seja inserido.
O exemplo de codificação a seguir mostra como inserir o conteúdo de um documento em um marcador de outro documento:
Anexar um documento
Você pode ter um caso de uso em que precise incluir páginas adicionais de um documento no final de um documento existente. Para fazer isso, basta chamar o método append_document para adicionar um documento ao final 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 prévios. No entanto, se você precisar inserir ou anexar um nó específico do seu documento, como uma seção ou um parágrafo, primeiro será necessário importar esse nó manualmente.
Quando você precisa inserir ou anexar uma seção ou parágrafo a outro, você basicamente precisa importar os nós da primeira árvore de nós do documento para a segunda usando o método import_node. Após importar seus nós, você precisa usar o método insert_after/insert_before para inserir um novo nó antes/depois do nó de referência. Isso permite personalizar o processo de inserção importando nós de um documento e inserindo-os em determinadas posições.
Você também pode usar o método append_child para adicionar um novo nó especificado ao final da lista de nós filhos, por exemplo, se desejar acrescentar conteúdo no nível do parágrafo em vez de no nível da seção.
O exemplo de código a seguir mostra como importar nós manualmente e inseri-los após um nó específico usando o método insert_after:
O conteúdo é importado para o documento de destino seção 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 observar que você pode definir configurações de formatação ao inserir ou anexar um documento para especificar como dois documentos serão unidos.
Propriedades comuns para inserir e anexar documentos
Os métodos insert_document e append_document aceitam ImportFormatMode e ImportFormatOptions como parâmetros de entrada. O ImportFormatMode permite controlar como a formatação do documento é mesclada ao importar conteúdo de um documento para outro, selecionando diferentes modos de formato, como USE_DESTINATION_STYLES, KEEP_SOURCE_FORMATTING e KEEP_DIFFERENT_STYLES. O ImportFormatOptions permite selecionar diferentes opções de importação, como ignore_header_footer, ignore_text_boxes, keep_source_numbering, merge_pasted_lists e smart_style_behavior.
Aspose.Words permite ajustar a visualização de um documento resultante quando dois documentos são adicionados em uma operação de inserção ou acréscimo usando Section e PageSetup. A propriedade page_setup contém todos os atributos de uma seção como section_start, restart_page_numbering, page_starting_number, orientation e outros. O caso de uso mais comum é definir a propriedade section_start para definir se o conteúdo adicionado aparecerá na mesma página ou será dividido em uma nova.
O exemplo de código a seguir mostra como anexar um documento a outro evitando que o conteúdo se divida em duas páginas: