COMPARACIóN DE PRODUCTOS

Comparación entre IronWord y Microsoft.Office.Interop.Word

Actualizado 12 de marzo, 2024
Compartir:

1. Introducción

Muchos desarrolladores trabajan con aplicaciones .NET en las que necesitan manejar documentos Word. Puede ser para crear informes, procesar documentos o generar facturas. Dos herramientas populares para esto son Microsoft.Office.Interop.Word y IronWord. Cada uno tiene sus propias características, pros y contras.

Este artículo compara **Microsoft Office Interop Word y IronWord. Veremos qué ofrece cada herramienta, cómo funciona y en qué situaciones es mejor utilizarla. Esto debería ayudarte a decidir qué herramienta se adapta mejor a tus necesidades específicas.

2. Microsoft.Office.Interop.Word

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 1 - Página web de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word es una biblioteca que permite a las aplicaciones .NET interactuar directamente con documentos de Microsoft Word. Es un componente clave para los desarrolladores que necesitan automatizar procesos de documentos de Word o integrar funciones de manipulación de documentos de Word en sus aplicaciones .NET. Esta biblioteca es especialmente útil para tareas como la generación, modificación y formateo de documentos dentro del entorno .NET, aprovechando todas las capacidades de Microsoft Word.

2.1 Características principales

Creación y edición de documentos:

Microsoft.Office.Interop.Word proporciona un amplio soporte para la creación y edición de documentos Word. Permite a los desarrolladores añadir, modificar y eliminar texto mediante programación, así como gestionar las propiedades de los documentos, como títulos y asuntos. Esta función es esencial para generar documentos dinámicos basados en datos introducidos por el usuario o en fuentes de datos externas.

Formato y estilos:

La biblioteca ofrece amplias opciones para dar formato a texto, párrafos y documentos enteros. Los desarrolladores pueden aplicar diversos estilos, fuentes, colores y alineaciones de párrafos para crear documentos con un formato profesional. Esto incluye la posibilidad de definir y aplicar estilos personalizados sobre los predeterminados, garantizando que los documentos generados cumplan requisitos específicos de marca o diseño.

**Compatibilidad con Microsoft Word

Como componente del paquete Microsoft Office, Microsoft.Office.Interop.Word garantiza una alta fidelidad y compatibilidad con todas las funciones de Microsoft Word. Esto incluye una integración perfecta con las últimas versiones de Word, lo que garantiza que los documentos creados o modificados a través de la biblioteca sean totalmente compatibles con el formato nativo de Word.

3. IronWord

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 2 - Página web de IronWord

IronWord es una biblioteca .NET diseñada para la manipulación de documentos, específicamente orientada al procesamiento de documentos Word. A diferencia de Microsoft.Office.Interop.Word, que depende del paquete Microsoft Office, IronWord proporciona una solución independiente para crear, editar y convertir documentos de Word dentro de aplicaciones .NET. Esto la convierte en una opción atractiva para los desarrolladores que buscan una biblioteca que no requiera la instalación de Microsoft Word en el servidor o en los equipos cliente.

3.1 Características principales

Procesamiento de documentostandalone:

IronWord permite manipular documentos de Word directamente dentro de las aplicaciones .NET sin necesidad de tener instalado Microsoft Office Word. Esta independencia simplifica la implantación y reduce la complejidad de los entornos de desarrollo, especialmente en contextos de servidor o nube.

**Conversión de documentos

Una capacidad importante de IronWord es su compatibilidad con la conversión de documentos de Word a otros formatos, como PDF, HTML y texto sin formato. Esta función es esencial para las aplicaciones que necesitan presentar documentos en varios formatos o para las aplicaciones web que requieren que el contenido del documento se muestre en HTML.

**Amplias opciones de formato

IronWord ofrece una amplia gama de funciones de formato, lo que permite a los desarrolladores **Aplicar estilos de texto Añada alineaciones de párrafo e inserte elementos como tablas e imágenes. Estas opciones garantizan que los documentos generados o modificados por IronWord cumplan las normas visuales y estructurales requeridas.

**Fácil integración con proyectos .NET

Diseñado pensando en las aplicaciones .NET, IronWord puede integrarse fácilmente en cualquier proyecto .NET a través de NuGet. Su API está diseñada para ser intuitiva para los desarrolladores .NET, por lo que resulta sencillo empezar a trabajar con documentos Word.

**Compatibilidad multiplataforma.

IronWord admite el desarrollo multiplataforma, por lo que es adecuado para su uso en aplicaciones dirigidas a varios sistemas operativos. Esto es especialmente valioso para proyectos que necesitan ejecutarse tanto en el sistema operativo Windows como en el Linux, o en entornos de nube.

4. Creación del proyecto .NET en Visual Studio

4.1 Abrir en Visual Studio

Inicie Microsoft Visual Studio. Al abrir la aplicación, aparecerá la ventana de inicio. Esta ventana ofrece varias opciones para empezar, como abrir un proyecto existente o crear uno nuevo. Para nuestro propósito, te centrarás en iniciar un nuevo proyecto.

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 3 - Creación de un nuevo proyecto en Visual Studio

4.2 Elección del tipo de proyecto

Tras hacer clic en la opción para crear un nuevo proyecto, Visual Studio te presenta una lista de plantillas. Para continuar, seleccione el proyecto Console App.

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 4 - Creación de un proyecto de aplicación de consola

4.3 Configurar el proyecto

Una vez seleccionada la plantilla de proyecto deseada, pulse "Siguiente" para acceder a la pantalla de configuración del proyecto. Aquí se le pide que facilite detalles esenciales sobre su proyecto. Esto incluye especificar el nombre del proyecto y seleccionar la ubicación donde se almacenarán los archivos del proyecto, como una carpeta de archivos de programa, reservada para uso interno de las aplicaciones.

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 5 - Configuración del nombre del proyecto y la ruta del archivo

El siguiente cuadro de diálogo consiste en seleccionar el marco de destino. El .NET Framework que elija determina las bibliotecas y API disponibles para su aplicación, lo que influye en su compatibilidad y funcionalidad. Asegúrese de seleccionar una versión de framework que admita las funciones que planea implementar en su aplicación, aprovechando las herramientas de Visual Studio para una experiencia de desarrollo optimizada.

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 6 - Elección del marco .NET adecuado

4.4 Creación del proyecto

Tras rellenar la información necesaria y asegurarse de que todos los parámetros están correctamente ajustados para cumplir los requisitos de su proyecto, el último paso es crear el proyecto. Para ello, haga clic en el botón "Crear". A continuación, Visual Studio inicializa un nuevo proyecto basado en la plantilla y las configuraciones seleccionadas. Este proceso puede tardar unos instantes, tras los cuales su nuevo proyecto .NET estará abierto y listo para el desarrollo.

5. Instalar la biblioteca IronWord

Esta sección profundiza en cómo puedes incorporar la biblioteca IronWord a tu proyecto utilizando el gestor de paquetes NuGet, la línea de comandos de Visual Studio y descargándola directamente de la página web de NuGet.

5.1 Uso del gestor de paquetes NuGet

El gestor de paquetes NuGet es una interfaz fácil de usar dentro de Visual Studio que permite la instalación sin problemas de bibliotecas y herramientas. Para instalar la biblioteca IronWord utilizando este método, siga estos pasos:

  1. Abra su proyecto en Visual Studio. Haga clic con el botón derecho en el nombre del proyecto en el Explorador de soluciones y seleccione "Gestionar paquetes NuGet..." en el menú contextual. Esta acción abre la ventana del Gestor de paquetes NuGet.
  2. En la ventana del Gestor de paquetes NuGet, vaya a la pestaña "Examinar". Utilice el cuadro de búsqueda para encontrar la biblioteca IronWord introduciendo "IronWord" y pulsando Intro.

    Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 7 - Instalación de IronWord mediante el gestor de paquetes NuGet

  3. En los resultados de la búsqueda, seleccione el paquete IronWord. Verá una descripción detallada e información sobre la versión. Elija la versión que se adapte a los requisitos de su proyecto y haga clic en el botón "Instalar". A continuación, Visual Studio se encarga de descargar e instalar la biblioteca, actualizando las referencias del proyecto en consecuencia.

5.2 Uso de la línea de comandos de Visual Studio

Para los que prefieren trabajar con herramientas de línea de comandos, Visual Studio ofrece Package Manager Console, una interfaz PowerShell para gestionar paquetes NuGet.

  1. Vaya a "Herramientas" > "Gestor de paquetes NuGet" > "Consola del gestor de paquetes" en el menú principal de Visual Studio.
  2. En la consola, escriba el siguiente comando y pulse Intro:
    :ProductInstall

Este comando obtiene la última versión de la biblioteca IronWord y la incorpora a su proyecto. Puede especificar una versión concreta añadiendo el parámetro -Versión seguido del número de versión.

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 8 - Instalación de IronWord a través de la línea de comandos VS

5.3 Descarga directa desde la página web de NuGet

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 9 - Instalación de IronWord a través de la página web NuGet

Si prefiere gestionar manualmente las bibliotecas de su proyecto, puede descargar directamente el paquete IronWord del sitio web NuGet y añadirlo a su proyecto.

  1. Visite nuget.org y busca el paquete IronWord. En la página del paquete, busque "Descargar" para obtener el archivo .nupkg. Guarde este archivo en su ordenador.
  2. Una vez descargado, puede añadir el paquete a su proyecto manualmente. Este proceso normalmente implica extraer el archivo .nupkg y luego añadir referencias a los ensamblados contenidos en su proyecto. Sin embargo, suele ser más sencillo y menos propenso a errores utilizar el gestor de paquetes NuGet o la línea de comandos de Visual Studio, como se ha descrito anteriormente.

6. Instalar Microsoft.Office.Interop.Word

Esta biblioteca puede añadirse a su proyecto mediante varios enfoques, cada uno de ellos adaptado a diferentes preferencias y requisitos de desarrollo.

6.1 Uso del gestor de paquetes NuGet

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 10 - Instalación de Microsoft.Office.Interop.Word a través del gestor de paquetes NuGet

El gestor de paquetes NuGet en Visual Studio es el método más directo para añadir la biblioteca Microsoft.Office.Interop.Word a tu proyecto. Sigue estos pasos:

  1. Abra el gestor de paquetes NuGet: Con el proyecto abierto en Visual Studio, haz clic con el botón derecho en el nombre del proyecto en el Explorador de soluciones. Seleccione "Gestionar paquetes NuGet..." en el menú contextual para abrir la ventana del gestor de paquetes NuGet.
  2. Busque la biblioteca: En la ventana del gestor de paquetes NuGet, cambie a la pestaña "Examinar" y escriba "Microsoft.Office.Interop.Word" en el cuadro de búsqueda. Pulse Intro para iniciar la búsqueda.
  3. Instalar el paquete: Encuentra en los resultados de la búsqueda el paquete "Microsoft.Office.Interop.Word", un objeto que representa toda la capacidad de manipulación de documentos. Revise la información y la descripción de la versión proporcionada para asegurarse de que satisface las necesidades de su proyecto. Haga clic en el botón "Instalar" para añadir la biblioteca a su proyecto. Visual Studio se encargará de la descarga e instalación del paquete, actualizando las referencias del proyecto para incluir el ensamblaje necesario.

6.2 Uso de la línea de comandos de Visual Studio

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 11 - Instalación de Microsoft.Office.Interop.Word a través de la línea de comandos VS

La consola del administrador de paquetes, una interfaz de línea de comandos dentro de Visual Studio, ofrece otra forma de instalar la biblioteca Microsoft.Office.Interop.Word.

  1. Accede a la consola del gestor de paquetes: Ve a "Herramientas" > "Gestor de paquetes NuGet" > "Consola del gestor de paquetes" desde el menú principal de Visual Studio.
  2. Ejecutar el comando de instalación: En la consola, escriba el siguiente comando y pulse Intro:
    Install-Package Microsoft.Office.Interop.Word
  1. Este comando indica a Visual Studio que busque la última versión de la biblioteca y la integre en el proyecto. Si necesita una versión específica de la biblioteca, puede especificarla añadiendo el parámetro -Versión seguido del número de versión deseado.

6.3 Descarga directa desde la página web de NuGet

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 12 - Instalación de Microsoft.Office.Interop.Word desde la página web de NuGet

Para los desarrolladores que prefieran la gestión manual de las dependencias del proyecto, la biblioteca Microsoft.Office.Interop.Word puede descargarse directamente del sitio web de NuGet.

  1. Descargue el paquete: Vaya a nuget.org y busque "Microsoft.Office.Interop.Word". En la página del paquete, busque "Descargar" para obtener el archivo .nupkg. Guarde este archivo en una ubicación conocida de su ordenador.
  2. Añada manualmente el paquete a su proyecto: Después de descargarlo, el archivo .nupkg puede añadirse manualmente a su proyecto. Esto suele implicar extraer el archivo y añadir referencias a los ensamblados extraídos en el proyecto. No obstante, para facilitar su uso y minimizar posibles errores, se recomienda utilizar el gestor de paquetes NuGet o la línea de comandos de Visual Studio.

7. Comparación de funciones avanzadas en IronWord y Microsoft.Office.Interop.Word

7.1 Funciones avanzadas de IronWord

7.1.1 Leer y editar documentos de Word

IronWord permite la lectura y modificación de documentos Word. Esto incluye abrir documentos existentes, realizar cambios y guardarlos de nuevo en el documento original o en un nuevo archivo. Esta función es esencial para las aplicaciones que necesitan actualizar documentos basándose en datos introducidos por el usuario o procedentes de otras fuentes.

using IronWord;
using IronWord.Models;
//  Inicializar con un nuevo nombre de documento
WordDocument document = new WordDocument("my_new_document.docx");
//  Insertar nuevo contenido de texto
document.AddText("This is a demonstration of modifying content with IronWord.");
//  Guardar el documento con un nuevo nombre de archivo
document.SaveAs("updated_document.docx");
using IronWord;
using IronWord.Models;
//  Inicializar con un nuevo nombre de documento
WordDocument document = new WordDocument("my_new_document.docx");
//  Insertar nuevo contenido de texto
document.AddText("This is a demonstration of modifying content with IronWord.");
//  Guardar el documento con un nuevo nombre de archivo
document.SaveAs("updated_document.docx");
Imports IronWord
Imports IronWord.Models
'  Inicializar con un nuevo nombre de documento
Private document As New WordDocument("my_new_document.docx")
'  Insertar nuevo contenido de texto
document.AddText("This is a demonstration of modifying content with IronWord.")
'  Guardar el documento con un nuevo nombre de archivo
document.SaveAs("updated_document.docx")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 13 - Documento resultante del código anterior

7.1.2 Editar configuración de página

IronWord permite cambiar el tamaño del papel de un documento, adaptándose a varios estándares como A4, Carta u oficio. Puede ajustar la orientación de la página entre vertical y horizontal, en función de las necesidades del documento.

7.1.3 Añadir párrafos

Añadir párrafos programáticamente es sencillo con IronWord, lo que permite insertar texto dinámicamente basándose en la lógica de la aplicación.

using IronWord;
using IronWord.Models;
//  Inicializar un nuevo documento Word
WordDocument document = new WordDocument();
//  Insertar texto en el documento
document.AddText("Exploring IronWord Capabilities");
//  Guardar el documento en un nuevo archivo
document.SaveAs("updated_ironword_document.docx");
using IronWord;
using IronWord.Models;
//  Inicializar un nuevo documento Word
WordDocument document = new WordDocument();
//  Insertar texto en el documento
document.AddText("Exploring IronWord Capabilities");
//  Guardar el documento en un nuevo archivo
document.SaveAs("updated_ironword_document.docx");
Imports IronWord
Imports IronWord.Models
'  Inicializar un nuevo documento Word
Private document As New WordDocument()
'  Insertar texto en el documento
document.AddText("Exploring IronWord Capabilities")
'  Guardar el documento en un nuevo archivo
document.SaveAs("updated_ironword_document.docx")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 14 - Documento resultante del código anterior

7.1.4 Añadir y eliminar TextRuns

Los TextRuns representan secciones de texto con un conjunto común de propiedades. IronWord permite añadirlas y eliminarlas, dando a los desarrolladores el control sobre la segmentación y las propiedades del texto.

7.1.5 Añadir imágenes

IronWord es compatible con añadir imágenes a los documentos, incluida la especificación de su posición, envoltura y tamaño, lo que mejora el atractivo visual y la eficacia del documento.

using IronWord;
using IronWord.Models;
//  Inicializar un nuevo documento Word
WordDocument document = new WordDocument();
//  Configurar una imagen
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; //  Anchura en píxeles
img.Height = 250; //  Altura en píxeles
Paragraph para = new Paragraph();
//  Incorporar la imagen al párrafo
para.AddImage(img);
//  Integrar el párrafo en el documento
document.AddParagraph(para);
//  Guardar el documento con un nuevo nombre
document.SaveAs("updated_save_document.docx");
using IronWord;
using IronWord.Models;
//  Inicializar un nuevo documento Word
WordDocument document = new WordDocument();
//  Configurar una imagen
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; //  Anchura en píxeles
img.Height = 250; //  Altura en píxeles
Paragraph para = new Paragraph();
//  Incorporar la imagen al párrafo
para.AddImage(img);
//  Integrar el párrafo en el documento
document.AddParagraph(para);
//  Guardar el documento con un nuevo nombre
document.SaveAs("updated_save_document.docx");
Imports IronWord
Imports IronWord.Models
'  Inicializar un nuevo documento Word
Private document As New WordDocument()
'  Configurar una imagen
Private img As New IronWord.Models.Image("updated_image.jpg")
img.Width = 250 '  Anchura en píxeles
img.Height = 250 '  Altura en píxeles
Dim para As New Paragraph()
'  Incorporar la imagen al párrafo
para.AddImage(img)
'  Integrar el párrafo en el documento
document.AddParagraph(para)
'  Guardar el documento con un nuevo nombre
document.SaveAs("updated_save_document.docx")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 15 - Documento generado con una imagen del código anterior

7.1.6 Añadir formas

IronWord permite añadir formas a los documentos, así como definir el tipo de forma, el tamaño, la posición y la rotación. Esto añade una capa de interés visual y puede utilizarse para resaltar información o añadir elementos decorativos.

7.1.7 Establecer estilo

Opciones de estilo de IronWord son muy amplias y abarcan la familia y el tamaño de la fuente, el color y las decoraciones de texto como negrita, cursiva, tachado, subrayado, superíndice y subíndice. Este nivel de control es crucial para mantener los estándares de la marca y garantizar la legibilidad de los documentos.

using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
//  Inicializar WordDocument con un archivo
WordDocument document = new WordDocument("updated_document.docx");
//  Crear TextRun con modificaciones
TextRun modifiedTextRun = new TextRun();
modifiedTextRun.Text = "Updated text with IronWord";
modifiedTextRun.Style = new TextStyle()
{
    FontFamily = "Arial",
    FontSize = 48, //  Tamaño de letra ajustado
    TextColor = new IronColor(Color.Blue), 
    IsBold = false, 
    IsItalic = false, 
    IsUnderline = false, 
    IsSuperscript = true, 
    IsStrikethrough = false,
    IsSubscript = true 
};
Paragraph newParagraph = new Paragraph();
//  Añadir TextRun modificado al párrafo
newParagraph.AddTextRun(modifiedTextRun);
//  Añadir un nuevo párrafo al documento
document.AddParagraph(newParagraph);
//  Guardar documento con un nuevo nombre
document.SaveAs("updated_save_document.docx");
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
//  Inicializar WordDocument con un archivo
WordDocument document = new WordDocument("updated_document.docx");
//  Crear TextRun con modificaciones
TextRun modifiedTextRun = new TextRun();
modifiedTextRun.Text = "Updated text with IronWord";
modifiedTextRun.Style = new TextStyle()
{
    FontFamily = "Arial",
    FontSize = 48, //  Tamaño de letra ajustado
    TextColor = new IronColor(Color.Blue), 
    IsBold = false, 
    IsItalic = false, 
    IsUnderline = false, 
    IsSuperscript = true, 
    IsStrikethrough = false,
    IsSubscript = true 
};
Paragraph newParagraph = new Paragraph();
//  Añadir TextRun modificado al párrafo
newParagraph.AddTextRun(modifiedTextRun);
//  Añadir un nuevo párrafo al documento
document.AddParagraph(newParagraph);
//  Guardar documento con un nuevo nombre
document.SaveAs("updated_save_document.docx");
Imports IronSoftware.Drawing
Imports IronWord
Imports IronWord.Models
Imports Color = IronSoftware.Drawing.Color
'  Inicializar WordDocument con un archivo
Private document As New WordDocument("updated_document.docx")
'  Crear TextRun con modificaciones
Private modifiedTextRun As New TextRun()
modifiedTextRun.Text = "Updated text with IronWord"
modifiedTextRun.Style = New TextStyle() With {
	.FontFamily = "Arial",
	.FontSize = 48,
	.TextColor = New IronColor(Color.Blue),
	.IsBold = False,
	.IsItalic = False,
	.IsUnderline = False,
	.IsSuperscript = True,
	.IsStrikethrough = False,
	.IsSubscript = True
}
Dim newParagraph As New Paragraph()
'  Añadir TextRun modificado al párrafo
newParagraph.AddTextRun(modifiedTextRun)
'  Añadir un nuevo párrafo al documento
document.AddParagraph(newParagraph)
'  Guardar documento con un nuevo nombre
document.SaveAs("updated_save_document.docx")
VB   C#

7.1.8 Establecer Alineaciones

IronWord permite establecer la alineación del texto dentro del documento, incluidas las alineaciones izquierda, central, derecha y justificada. Esto es importante tanto para la estética como para la legibilidad.

7.1.10 Añadir tablas

Las tablas son un componente esencial de muchos documentos, ya que sirven para organizar datos e información. IronWord permite añadir tablas y manipular su estructura, incluyendo la adición o eliminación de filas y columnas. IronWord facilita la manipulación del contenido de las celdas de las tablas, lo que permite insertar contenido dinámico en función de las necesidades de la aplicación. IronWord ofrece la posibilidad de combinar y dividir celdas de tablas, lo que resulta útil para personalizar la disposición de las tablas y abordar requisitos complejos de presentación de datos.

using IronWord;
using IronWord.Models;
//  Crear celda de tabla
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; //  Cambiado el contenido del texto
//  Añadir TextRun a la celda
cell.AddContent(new Paragraph(textRun));
//  Configurar el estilo del borde
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue); //  Cambiado el color del borde a azul
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double; //  Cambiado el estilo del borde a doble
borderStyle.BorderSize = 3; //  Tamaño del borde ajustado a 3
//  Configurar el borde de la tabla
TableBorders tableBorders = new TableBorders() {
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
//  Crear fila y añadir celda
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell); 
//  Crear tabla y añadir fila
Table table = new Table();
table.AddRow(row);
//  Crear un nuevo documento Word a partir de la tabla
WordDocument doc = new WordDocument(table);
//  Exportar documento Word
doc.SaveAs("UpdatedDocument.docx");
using IronWord;
using IronWord.Models;
//  Crear celda de tabla
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; //  Cambiado el contenido del texto
//  Añadir TextRun a la celda
cell.AddContent(new Paragraph(textRun));
//  Configurar el estilo del borde
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue); //  Cambiado el color del borde a azul
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double; //  Cambiado el estilo del borde a doble
borderStyle.BorderSize = 3; //  Tamaño del borde ajustado a 3
//  Configurar el borde de la tabla
TableBorders tableBorders = new TableBorders() {
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
//  Crear fila y añadir celda
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell); 
//  Crear tabla y añadir fila
Table table = new Table();
table.AddRow(row);
//  Crear un nuevo documento Word a partir de la tabla
WordDocument doc = new WordDocument(table);
//  Exportar documento Word
doc.SaveAs("UpdatedDocument.docx");
Imports IronWord
Imports IronWord.Models
'  Crear celda de tabla
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Updated content" '  Cambiado el contenido del texto
'  Añadir TextRun a la celda
cell.AddContent(New Paragraph(textRun))
'  Configurar el estilo del borde
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Blue) '  Cambiado el color del borde a azul
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double '  Cambiado el estilo del borde a doble
borderStyle.BorderSize = 3 '  Tamaño del borde ajustado a 3
'  Configurar el borde de la tabla
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
cell.Borders = tableBorders
'  Crear fila y añadir celda
Dim row As New TableRow()
row.AddCell(cell)
row.AddCell(cell)
'  Crear tabla y añadir fila
Dim table As New Table()
table.AddRow(row)
'  Crear un nuevo documento Word a partir de la tabla
Dim doc As New WordDocument(table)
'  Exportar documento Word
doc.SaveAs("UpdatedDocument.docx")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 16 - Documento resultante con tablas del código anterior

7.2 Funciones avanzadas específicas de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word permite una profunda integración con documentos de Word, lo que permite a los desarrolladores aprovechar las amplias funciones de Word mediante programación. A continuación se indican las funciones avanzadas específicas que ofrece Microsoft.Office.Interop.Word, distintas de las funciones generales descritas anteriormente:

7.2.1 Controles de contenido

Microsoft.Office.Interop.Word admite la adición y manipulación de controles de contenido, que incluyen cuadros de texto enriquecido, cuadros combinados, selectores de fecha y casillas de verificación. Estos controles pueden utilizarse para crear documentos estructurados e interactivos en los que los usuarios pueden introducir o seleccionar información dentro de una plantilla establecida.

//  Controles de contenido
var application = new Microsoft.Office.Interop.Word.Application();
var document = application.Documents.Add();
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
//  Controles de contenido
var application = new Microsoft.Office.Interop.Word.Application();
var document = application.Documents.Add();
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
'  Controles de contenido
Dim application = New Microsoft.Office.Interop.Word.Application()
Dim document = application.Documents.Add()
Dim cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, missing)
cc.Title = "Choose an option"
cc.DropdownListEntries.Add("Option 1", "1")
cc.DropdownListEntries.Add("Option 2", "2")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 17 - Documento resultante con los controles de contenido del código anterior

7.2.2 Combinación de correspondencia

Automatice el proceso de combinación de correspondencia, que combina un documento de Word con una fuente de datos como una hoja de cálculo o una base de datos, para producir cartas, etiquetas o correos electrónicos personalizados de forma masiva. Esta función es inestimable para generar comunicaciones o documentos personalizados en masa.

//  Combinación de correspondencia
var mailMergeDoc = application.Documents.Add();
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
//  Combinación de correspondencia
var mailMergeDoc = application.Documents.Add();
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
'  Combinación de correspondencia
Dim mailMergeDoc = application.Documents.Add()
mailMergeDoc.MailMerge.OpenDataSource("path\to\datasource.xlsx")
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
mailMergeDoc.MailMerge.Execute(False)
VB   C#

7.2.3 Seguimiento de cambios y comentarios

Habilite e interactúe con las funciones de seguimiento de cambios y comentarios de Word mediante código. Esta funcionalidad es esencial para aplicaciones que requieren edición colaborativa, revisión de documentos o auditoría de cambios a lo largo del tiempo.

//  Seguimiento de cambios y comentarios
document.TrackRevisions = true;
document.Comments.Add(document.Paragraphs [1].Range, "This is a comment.");
//  Seguimiento de cambios y comentarios
document.TrackRevisions = true;
document.Comments.Add(document.Paragraphs [1].Range, "This is a comment.");
'  Seguimiento de cambios y comentarios
document.TrackRevisions = True
document.Comments.Add(document.Paragraphs (1).Range, "This is a comment.")
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 18 - Documento resultante con seguimiento de comentarios del código anterior

7.2.4 Encabezados y pies de página

Manipule los encabezados y pies de página de forma dinámica, incluyendo la adición de números de página, fechas o texto personalizado. Esto es vital para crear documentos profesionales con una imagen de marca y ayudas a la navegación coherentes.

//  Encabezados y pies de página
foreach (Section section in document.Sections)
{
    section.Headers [WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
    section.Footers [WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
//  Encabezados y pies de página
foreach (Section section in document.Sections)
{
    section.Headers [WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
    section.Footers [WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
'  Encabezados y pies de página
For Each section As Section In document.Sections
	section.Headers (WdHeaderFooterIndex.wdHeaderFooterPrimary).Range.Text = "Header Text"
	section.Footers (WdHeaderFooterIndex.wdHeaderFooterPrimary).PageNumbers.Add()
Next section
VB   C#

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 19 - Documento resultante con encabezados y pies de página del código anterior

7.2.5 Índice de materias e índices

Genere y actualice una tabla de contenidos o un índice a partir de los títulos de los documentos o de las entradas marcadas. Esto es fundamental para crear documentos profesionales y navegables, especialmente informes o libros extensos.

//  Índice de materias
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
var index = document.Indexes.Add(document.Content);
//  Índice de materias
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
var index = document.Indexes.Add(document.Content);
'  Índice de materias
Dim toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel:= 1, LowerHeadingLevel:= 3, UseHyperlinks:= True)
Dim index = document.Indexes.Add(document.Content)
VB   C#

7.2.6 Incrustación y vinculación de objetos

Incruste o vincule objetos externos como gráficos de Excel, presentaciones de PowerPoint o cualquier otro objeto especificado en documentos de Word. Esta capacidad permite crear contenidos dinámicos que se actualizan con el archivo de origen o incrustar información directamente en el documento.

//  Incrustación y vinculación de objetos especificados
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\\to\\excel.xlsx", false, false, ref missing, ref missing, ref missing, ref missing);
//  Incrustación y vinculación de objetos especificados
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\\to\\excel.xlsx", false, false, ref missing, ref missing, ref missing, ref missing);
'  Incrustación y vinculación de objetos especificados
Dim missing As Object = System.Reflection.Missing.Value
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\to\excel.xlsx", False, False, missing, missing, missing, missing)
VB   C#

8. Documentación y apoyo

8.1 Documentación y asistencia de IronWord

IronWord ofrece documentación y apoyo para ayudar a los desarrolladores a aprovechar todo su potencial. La documentación incluye una amplia gama de recursos, como una detallada guía de inicio, resúmenes de funciones, ejemplos de inicio rápido y completas referencias a la API.

IronWord cuenta con un sólido servicio de asistencia técnica para que los desarrolladores puedan resolver rápidamente cualquier problema. El marco de asistencia incluye un equipo especializado disponible para atender consultas y solucionar problemas.

8.2 Documentación y soporte técnico de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word proporciona a los desarrolladores .NET las herramientas necesarias para interactuar mediante programación con documentos de Word, con el respaldo de la amplia documentación y soporte de Microsoft. La documentación incluye desde guías para principiantes hasta ejemplos avanzados, información detallada sobre la API y casos prácticos de uso.

Para el soporte, Microsoft ofrece múltiples canales, incluida la asistencia técnica directa, foros de la comunidad y plataformas como Stack Overflow para el soporte entre iguales. GitHub también es crucial para informar de problemas y sugerir mejoras. Las actualizaciones periódicas garantizan que la biblioteca se mantenga al día con las nuevas versiones de Word, lo que refleja el compromiso constante de Microsoft con las necesidades de los desarrolladores.

9. Modelos de licencia

9.1 Licencia de IronWord

Comparación entre IronWord y Microsoft.Office.Interop.Word: Figura 20 - Página de licencias de IronWord

IronWord ofrece servicios gratuitos y comerciales **opciones de licencia:

  • Licencia Lite: $599; USD
    • Para 1 promotor
    • 1 ubicación
    • 1 proyecto
    • Asistencia por correo electrónico
  • Más Licencia: $1,499; USD
    • Hasta 3 desarrolladores
    • 3 emplazamientos
    • 3 proyectos
    • Correo electrónico (24/7) y asistencia por chat
    • Asistencia telefónica
  • Licencia profesional: $2,999; USD

    • Hasta 10 desarrolladores
    • 10 emplazamientos
    • 10 proyectos
    • Correo electrónico (24/7)chat y asistencia telefónica
    • Pantalla compartida

    Todas las licencias comerciales incluyen asistencia y actualizaciones prioritarias. También ofrece un **Prueba gratuita para probar todas las capacidades en un entorno de producción sin ninguna marca de agua.

9.2 Licencia Microsoft.Office.Interop.Word

La licencia de Microsoft.Office.Interop.Word está vinculada al paquete Microsoft Office. No se necesita una licencia independiente para la biblioteca Interop en sí; se incluye con Microsoft Office. El uso de Microsoft.Office.Interop.Word en aplicaciones requiere que el entorno de implementación tenga una licencia válida de Microsoft Office, que incluye Word.

El coste depende de la versión específica del paquete Office y del acuerdo de licencia elegido, desde licencias individuales hasta licencias por volumen para empresas. Para conocer los precios exactos, consulte el sitio web oficial de Microsoft o póngase en contacto con un representante de ventas de Microsoft.

10. Conclusión

En la comparación entre IronWord y Microsoft.Office.Interop.Word, hemos examinado diversos aspectos como la funcionalidad, la facilidad de uso, la compatibilidad de plataformas y las licencias. IronWord se perfila como un competidor especialmente fuerte para los desarrolladores que buscan una solución flexible y multiplataforma para la manipulación de documentos Word.

Gracias a su capacidad para funcionar independientemente de Microsoft Office, IronWord ofrece un enfoque racionalizado del procesamiento de documentos, lo que lo convierte en la opción ideal para aplicaciones que se ejecutan en diversos entornos. Su completo conjunto de funciones, combinado con la comodidad de no requerir la instalación de Microsoft Word, confiere a IronWord una ventaja, especialmente en situaciones en las que la sencillez de implantación y la amplia compatibilidad son consideraciones clave. Si desea comprar IronWord, vaya a la página página de licencia.

SIGUIENTE >
Comparación entre IronWord y Aspose Words para .NET

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 3,031 Ver licencias >
123