Insertar y apéndice Documentos

A veces se requiere combinar varios documentos en uno. Usted puede hacer esto manualmente o puede utilizar Aspose.Words Introducir o adjuntar.

La operación de inserción le permite insertar el contenido de documentos creados anteriormente en uno nuevo o existente.

A su vez, la función del apéndice le permite añadir un documento sólo al final de otro documento.

Este artículo explica cómo insertar o anexar un documento a otro de diferentes maneras y describe las propiedades comunes que puede aplicar al insertar o apegar documentos.

Insertar un documento

Como se mencionó anteriormente, en Aspose.Words un documento está representado como un árbol de nodos, y la operación de insertar un documento en otro es copiar nodos del primer árbol de documentos al segundo.

Puede insertar documentos en una variedad de lugares de diferentes maneras. Por ejemplo, puede insertar un documento a través de una operación de sustitución, un campo de fusión durante una operación de fusión, o a través de un marcador.

También puede utilizar el InsertDocument o el InsertDocumentInline método, que es similar a insertar un documento en Microsoft Word, insertar un documento completo en la posición actual del cursor sin importar previamente.

El siguiente ejemplo de código muestra cómo insertar un documento usando el InsertDocument método:

El siguiente ejemplo de código muestra cómo insertar un documento usando el InsertDocumentInline método:

Las siguientes subsecciones describen las opciones durante las cuales puede insertar un documento en otro.

Insertar un documento durante la operación Find and Replace

Puede insertar documentos mientras realiza operaciones de búsqueda y sustitución. Por ejemplo, un documento puede contener párrafos con el texto [INTRODUCCIÓN] y [CONCLUSIÓN]. Pero en el documento final, usted necesita reemplazar esos párrafos con el contenido obtenido de otro documento externo. Para lograrlo, necesitará crear un manejador para el evento de sustitución.

El siguiente ejemplo de código muestra cómo crear un manejador para el evento de sustitución para utilizarlo más adelante en el proceso de inserción:

El siguiente ejemplo de código muestra cómo insertar el contenido de un documento en otro durante un hallazgo y reemplazar la operación:

Insertar un documento durante Mail Merge Operación

Puede insertar un documento en un campo de fusión durante un mail merge operación. Por ejemplo, a mail merge plantilla puede contener un campo de fusión como [Summary]. Pero en el documento final, debe insertar el contenido obtenido de otro documento externo en este campo de fusión. Para lograrlo, necesitará crear un manejador para el evento de fusión.

El siguiente ejemplo de código muestra cómo crear un manejador para el evento fusionado para utilizarlo más adelante en el proceso de inserción:

El siguiente ejemplo de código muestra cómo insertar un documento en el campo de fusión utilizando el manejador creado:

Insertar un documento en Bookmark

Puede importar un archivo de texto en un documento e insertarlo justo después de un marcador que haya definido en el documento. Para ello, cree un párrafo marcado donde desea insertar el documento.

El siguiente ejemplo de codificación muestra cómo insertar el contenido de un documento a un marcador en otro documento:

Apéndice un documento

Usted puede tener un caso de uso donde necesita incluir páginas adicionales de un documento al final de un documento existente. Para hacer esto, solo tienes que llamar al AppendDocument método para añadir un documento al final de otro.

El siguiente ejemplo de código muestra cómo adjuntar un documento al final de otro documento:

Importar y insertar los nodos manualmente

Aspose.Words le permite insertar y anexar documentos automáticamente sin ningún requisito previo de importación. Sin embargo, si necesita insertar o anexar un nodo específico de su documento, como una sección o un párrafo, primero debe importar este nodo manualmente.

Cuando necesite insertar o anexar una sección o párrafo a otra, esencialmente necesita importar los nodos del primer árbol de nodos de documento en el segundo usando el ImportNode método. Después de importar sus nodos, necesita utilizar el InsertAfter método para insertar un nuevo nodo después/antes del nodo de referencia. Esto le permite personalizar el proceso de inserción al importar nodos de un documento e insertarlo en posiciones dadas.

También puede utilizar el AppendChild método para añadir un nuevo nodo especificado al final de la lista de nodos infantiles, por ejemplo, si desea incluir contenido en el nivel del párrafo en lugar de en el nivel de sección.

El siguiente ejemplo de código muestra cómo importar manualmente nodos e insertarlos después de un nodo específico utilizando el InsertAfter método:

El contenido se importa en la sección de documento de destino por sección, lo que significa que los ajustes, como configuración de página y encabezados o pies, se conservan durante la importación. También es útil señalar que puede definir la configuración de formato cuando inserta o anexa un documento para especificar cómo se unen dos documentos.

Propiedades comunes para insertar y enviar documentos

Ambos InsertDocument y AppendDocument métodos aceptados ImportFormatMode y ImportFormatOptions como parámetros de entrada. El ImportFormatMode permite controlar cómo se fusiona el formato de documentos cuando importa contenido de un documento a otro seleccionando diferentes modos de formato, como UseDestinationStyles, KeepSourceFormatting, y KeepDifferentStyles. El ImportFormatOptions le permite seleccionar diferentes opciones de importación como IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, y SmartStyleBehavior.

Aspose.Words permite ajustar la visualización de un documento resultante cuando se agregan dos documentos juntos en una operación de inserción o apéndice utilizando el Section y PageSetup propiedades. El PageSetup propiedad contiene todos los atributos de una sección como SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, y otros. El caso de uso más común es establecer el SectionStart propiedad para definir si el contenido añadido aparecerá en la misma página o se dividirá en una nueva.

El siguiente ejemplo de código muestra cómo adjuntar un documento a otro manteniendo el contenido de dividirse en dos páginas: