USO DE IRONWORD

.NET Word API (Cómo funciona para los desarrolladores)

Regan Pun
Regan Pun
3 de abril, 2024
Compartir:

Introducción

La API de Word de .NET ofrece a los desarrolladores herramientas robustas para convertir documentos de Word, interactuar con ellos y manipular documentos de MS Word dentro de sus aplicaciones. Esta API está diseñada para agilizar el proceso de trabajo con documentos de Microsoft Word, facilitando la creación, edición, conversión y gestión de documentos mediante programación. En este artículo, exploraremos IronWord para entender sus capacidades en la manipulación de documentos Word.

Introducción a IronWord

IronWord es una biblioteca de Word .NET dentro del ecosistema de API de Word .NET, diseñada específicamente para desarrolladores que procesan documentos de Microsoft Word en sus aplicaciones .NET. Con IronWord, los desarrolladores pueden leer, escribir y modificar fácilmente documentos de Word sin necesidad de tener Microsoft Word instalado en el servidor o en los equipos cliente. Esta capacidad es especialmente beneficiosa para las aplicaciones que necesitan automatizar tareas de procesamiento de documentos, como la generación de informes, facturas o correspondencia personalizada mediante funciones de combinación de correspondencia.

Características de IronWord

IronWord ofrece una amplia gama de funciones que cubren varios aspectos de la manipulación de documentos Word. Exploremos cada conjunto de funciones, centrándonos en cómo permiten manipular y fusionar varios documentos, clasificados en "Estructura del documento" y "Elementos del documento".

Estructura del documento

Leer y editar Word: Con IronWord, puedes extraer información específica de tus documentos de Word, como extraer texto para editar o reutilizar y recuperar imágenes que puedan necesitarse en otros lugares. Esta capacidad es vital para las aplicaciones destinadas a fusionar documentos Word y procesar la información contenida en los archivos DOCX existentes.

Múltiples formatos: IronWord admite una amplia gama de formatos de archivo, mejorando su utilidad en la conversión de documentos de Word dentro de aplicaciones .NET.

Editar la Configuración de Página: Adaptar el diseño físico de tus documentos de Word es sencillo con IronWord. Puede ajustar el tamaño del papel de varios archivos de MS Word a dimensiones estándar o personalizadas, cambiar la orientación de las distintas secciones del documento, establecer los márgenes para garantizar una alineación correcta e incluso modificar el color de fondo con fines estéticos o para resaltar secciones.

Agregar párrafos: IronWord permite la adición y eliminación de fragmentos de texto dentro de párrafos, lo cual es fundamental para editar y dar formato a grandes secciones de texto. Además, puede mejorar sus párrafos insertando imágenes y formas directamente en el texto, ajustando el estilo para que coincida con sus especificaciones de diseño y estableciendo alineaciones para conseguir un aspecto pulido. La posibilidad de añadir viñetas y listas numeradas también ayuda a organizar el contenido de forma más eficaz.

using IronWord;
using IronWord.Models;
// Load docx
WordDocument doc = new WordDocument();
// Create and add styled text to a paragraph
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(new TextRun("Exploring text styles within a document."));
paragraph.AddTextRun(new TextRun("An example in italic.", new TextStyle { IsItalic = true }));
paragraph.AddTextRun(new TextRun("An example in bold.", new TextStyle { IsBold = true }));
// Add paragraph and export docx
doc.AddParagraph(paragraph);
doc.SaveAs("newdocument.docx");
using IronWord;
using IronWord.Models;
// Load docx
WordDocument doc = new WordDocument();
// Create and add styled text to a paragraph
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(new TextRun("Exploring text styles within a document."));
paragraph.AddTextRun(new TextRun("An example in italic.", new TextStyle { IsItalic = true }));
paragraph.AddTextRun(new TextRun("An example in bold.", new TextStyle { IsBold = true }));
// Add paragraph and export docx
doc.AddParagraph(paragraph);
doc.SaveAs("newdocument.docx");
Imports IronWord
Imports IronWord.Models
' Load docx
Private doc As New WordDocument()
' Create and add styled text to a paragraph
Private paragraph As New Paragraph()
paragraph.AddTextRun(New TextRun("Exploring text styles within a document."))
paragraph.AddTextRun(New TextRun("An example in italic.", New TextStyle With {.IsItalic = True}))
paragraph.AddTextRun(New TextRun("An example in bold.", New TextStyle With {.IsBold = True}))
' Add paragraph and export docx
doc.AddParagraph(paragraph)
doc.SaveAs("newdocument.docx")
$vbLabelText   $csharpLabel

Agregar tablas: Tablas son un componente crítico de los archivos DOCX y se manipulan fácilmente con IronWord, admitiendo la generación dinámica de documentos. Puede añadir o eliminar filas y columnas, una operación que resulta clave para la generación dinámica de documentos, donde la cantidad de datos puede variar. La fusión y división de celdas le ofrece la versatilidad necesaria para dar formato a tablas complejas, y la personalización de los bordes y las dimensiones del diseño permite obtener un aspecto pulido y profesional.

using IronWord;
using IronWord.Models;
// Create a table cell with a paragraph containing text
TableCell cell = new TableCell(new Paragraph(new TextRun("Sample text")));
// Configure a common border style for the table
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};
// Apply the border style to the cell
cell.Borders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
// Create a table row and add the same cell twice
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);
// Create a table, add the row, then create and export the Word document
Table table = new Table();
table.AddRow(row);
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx");
using IronWord;
using IronWord.Models;
// Create a table cell with a paragraph containing text
TableCell cell = new TableCell(new Paragraph(new TextRun("Sample text")));
// Configure a common border style for the table
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};
// Apply the border style to the cell
cell.Borders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
// Create a table row and add the same cell twice
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);
// Create a table, add the row, then create and export the Word document
Table table = new Table();
table.AddRow(row);
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx");
Imports IronWord
Imports IronWord.Models
' Create a table cell with a paragraph containing text
Private cell As New TableCell(New Paragraph(New TextRun("Sample text")))
' Configure a common border style for the table
Private borderStyle As New BorderStyle With {
	.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black),
	.BorderValue = IronWord.Models.Enums.BorderValues.Thick,
	.BorderSize = 5
}
' Apply the border style to the cell
cell.Borders = New TableBorders With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
' Create a table row and add the same cell twice
Dim row As New TableRow()
row.AddCell(cell)
row.AddCell(cell)
' Create a table, add the row, then create and export the Word document
Dim table As New Table()
table.AddRow(row)
Dim doc As New WordDocument(table)
doc.SaveAs("Document.docx")
$vbLabelText   $csharpLabel

API de Word en .NET (Cómo Funciona para Desarrolladores): Figura 1 - PDF generado con una tabla

Elementos del documento

Añadir TextRuns: Esta función se centra en el control detallado del contenido de texto. Puede añadir, anexar y dividir tiradas de texto, lo que es vital para la creación dinámica de documentos. Las opciones de estilo son amplias, e incluyen cambiar familias de fuentes, tamaños y colores, así como añadir negrita, cursiva y otras decoraciones de texto. También puede incrustar imágenes dentro de tiradas de texto, creando un documento rico y visualmente atractivo.

Agregar Imágenes: IronWord permite la manipulación de imágenes de forma integral dentro de Documentos Word. Puedes cargar imágenes de distintas fuentes, rodearlas de texto sin problemas y ajustar sus dimensiones para adaptarlas a tu diseño. La posibilidad de establecer el desplazamiento de posición y la distancia desde las esquinas del documento significa que sus imágenes estarán siempre perfectamente colocadas.

using IronWord;
using IronWord.Models;
WordDocument doc = new WordDocument();
IronWord.Models.Image image = new IronWord.Models.Image("your-image.jpg")
{
    Width = 200, // In unit pixel
    Height = 200 // In unit pixel
};
Create paragraph, add image, add paragraph to doc, and export
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image);
doc.AddParagraph(paragraph);
doc.SaveAs("save_document.docx");
using IronWord;
using IronWord.Models;
WordDocument doc = new WordDocument();
IronWord.Models.Image image = new IronWord.Models.Image("your-image.jpg")
{
    Width = 200, // In unit pixel
    Height = 200 // In unit pixel
};
Create paragraph, add image, add paragraph to doc, and export
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image);
doc.AddParagraph(paragraph);
doc.SaveAs("save_document.docx");
Imports IronWord
Imports IronWord.Models
Private doc As New WordDocument()
Private image As New IronWord.Models.Image("your-image.jpg") With {
	.Width = 200,
	.Height = 200
}
Private paragraph, add, add, [and] As Create
paragraph.AddImage(image)
doc.AddParagraph(paragraph)
doc.SaveAs("save_document.docx")
$vbLabelText   $csharpLabel

Agregar Formas: Las formas pueden añadir un impacto visual significativo a un documento, y IronWord te ofrece las herramientas para insertarlas y personalizarlas con precisión. Puedes establecer el tipo de forma (como rectángulos, círculos, flechas, etc.), determinar cómo debe ajustarse el texto alrededor de la forma, especificar dimensiones y posicionamientos exactos e incluso rotar las formas para lograr el efecto visual deseado.

Compatibilidad

Versiones .NET y tipos de proyecto

API de Word para .NET (Cómo funciona para desarrolladores): Figura 2 - Las versiones de .NET y tipos de proyecto con los que IronWord es compatible

IronWord está diseñado para ofrecer una amplia compatibilidad con el ecosistema .NET, ya que admite C#, VB.NET y F# en varias versiones de .NET, incluidas .NET Core, .NET Standard y .NET Framework. Esto garantiza su utilidad tanto en aplicaciones actuales como heredadas. La versatilidad de la biblioteca se extiende a los tipos de proyectos, dando cabida a aplicaciones web, móviles y de escritorio mediante la integración con Blazor, WebForms, Xamarin, MAUI, WPF y aplicaciones de consola.

Entornos de aplicación

.NET Word API (Cómo funciona para desarrolladores): Figura 3 - Los entornos de aplicación en los que IronWord puede trabajar

En cuanto a los entornos de aplicación, IronWord se adapta a las plataformas Windows, Linux, iOS y Android, incluida la compatibilidad específica con la contenedorización y el despliegue en la nube en Docker, Azure y AWS. Este amplio apoyo facilita el desarrollo en distintos entornos.

SO E IDE

API de Word para .NET (Cómo Funciona Para Desarrolladores): Figura 4 - Los SO y IDE con los que IronWord es compatible

IronWord también es compatible con los principales entornos de desarrollo integrados (IDEs) como Microsoft Visual Studio, ReSharper y Rider, ofreciendo a los desarrolladores flexibilidad en su elección de herramientas. Por último, es compatible con varios sistemas operativos y arquitecturas de procesador (x64, x86, ARM), lo que garantiza un rendimiento eficiente en diversas configuraciones de hardware.

Opciones de licencia

API de Word para .NET (Cómo Funciona Para Desarrolladores): Figura 5 - Página de licencias de IronWord

IronWord ofrece varias opciones de licencia para adaptarse a las necesidades de los distintos desarrolladores y organizaciones. Ofrecen una licencia perpetua, lo que significa que pagas una vez y no hay cuotas recurrentes. Cada licencia incluye un año de asistencia técnica y actualizaciones del producto. Los niveles de licencia están diseñados en función del número de desarrolladores, ubicaciones y proyectos que tenga. También puede obtener una prueba gratuita para obtener experiencia práctica antes de comprar una licencia.

Licencia Lite

Esta opción está pensada para desarrolladores individuales que trabajan en solitario en un proyecto. Está valorado en $749 y cubre a un desarrollador en una sola ubicación.

Licencia Plus

Dirigida a equipos pequeños, esta licencia, por 1.499 dólares, admite hasta tres desarrolladores y se puede utilizar en tres ubicaciones y en tres proyectos.

Licencia profesional

Para equipos más grandes, la licencia profesional tiene un precio de 2.999 dólares y admite hasta diez desarrolladores. Está diseñado para operaciones de mayor envergadura e incluye funciones de asistencia premium.

Conclusión

Para concluir, IronWord surge como una sólida y flexible API de Word para .NET, ofreciendo una variedad de opciones de licencia para satisfacer las diversas necesidades de desarrolladores individuales y equipos. Sus funciones permiten gestionar y manipular eficazmente documentos de Word, garantizando la compatibilidad entre múltiples versiones de .NET y tipos de proyecto.

Regan Pun
Ingeniero de software
Regan se licenció en Ingeniería Electrónica por la Universidad de Reading. Antes de incorporarse a Iron Software, sus anteriores puestos de trabajo le obligaban a centrarse en tareas concretas; lo que más le gusta de Iron Software es la variedad de tareas que puede realizar, ya sea añadiendo valor a las ventas, el soporte técnico, el desarrollo de productos o el marketing. Le gusta entender cómo utilizan los desarrolladores la biblioteca de Iron Software y utilizar ese conocimiento para mejorar continuamente la documentación y desarrollar los productos.
< ANTERIOR
Cómo exportar un documento a Word en C#
SIGUIENTE >
Cómo realizar la automatización de Word en C#

¿Listo para empezar? Versión: 2025.4 acaba de salir

Ver licencias >