Saltar al pie de página
USANDO IRONWORD

Cómo Leer un Archivo Word Usando C#

En la era actual, los documentos de Microsoft Word son sinónimos de trabajo de oficina y comunicación profesional y personal. Por lo tanto, manipular programáticamente documentos de Word es crítico para los desarrolladores que buscan automatizar tareas para mostrar a los usuarios en sus aplicaciones. Aunque hay muchas bibliotecas disponibles, no todas son tan robustas como las demás. Sin embargo, un competidor que se destaca del resto es IronWord. IronWord es una biblioteca C# de DOCX de Word confiable y robusta que es fácil de usar y entender, y simplifica el trabajo con documentos de Word.

Este artículo explorará cómo podemos utilizar rápidamente IronWord para leer documentos de Word con ejemplos cortos.

Cómo leer un archivo de Word usando C

  1. Crea una aplicación de consola en Visual Studio

  2. Instala la biblioteca IronWord C# DOCX

  3. Cree un nuevo documento de Word utilizando la clase WordDocument

  4. Añadir texto al documento de Word

  5. Recorrer cada párrafo usando la clase Paragraph

  6. Mostrar los contenidos

IronWord: La biblioteca DOCX de C

IronWord: La biblioteca DOCX de C#

IronWord es una biblioteca flexible y escalable con una API sencilla y fácil de usar que elimina las molestias de integrar documentos de Word en aplicaciones. Ya sea que desee agregar e integrar un documento de texto simple a su aplicación o crear tablas y reportes complejos para mostrar a los usuarios, IronWord lo tiene todo cubierto.

Aquí están sus características más notables:

  1. Manipulación de documentos: IronWord permite a los desarrolladores manipular documentos de Word con facilidad. Ya sea que los usuarios quieran insertar párrafos de texto o estructuras más complejas como tablas e imágenes, IronWord puede hacerlo todo.

  2. Soporte y compatibilidad multiplataforma: IronWord está diseñado para ser flexible y apoya a los desarrolladores en múltiples plataformas. Soporta varias .NET Core (8, 7, 6, 5 y 3.1+), .NET Standard (2.0+), .NET Framework (4.6.2+) e incluso Azure. Además, los desarrolladores pueden utilizar IronWord en diferentes plataformas y sistemas, incluidos pero no limitados a Windows, Linux, macOS y Android. Cubre las plataformas más comunes y permite a los desarrolladores construir aplicaciones multiplataforma rápidamente.

  3. Independencia de Microsoft Office: Un problema común al integrar documentos de Word en aplicaciones .NET es que bibliotecas populares como Interop requieren una instalación con licencia de Microsoft Office. Sin embargo, IronWord alivia ese problema al ser independiente de esa restricción. Los desarrolladores pueden aprovechar al máximo el poder de los documentos de Word sin estar restringidos por la licencia y la instalación de Microsoft Word.

  4. Opciones de formato: IronWord ofrece un amplio soporte para el formato y el estilo, permitiendo a los desarrolladores hacer único el documento. Los desarrolladores pueden aplicar fuentes a su texto, colores, alineaciones y otros formatos complejos, como estilos de tabla.

  5. Facilidad de uso y soporte extensivo: Junto con una API fácil de entender y llamadas de métodos directas, IronWord también proporciona referencias de API de extensión y ejemplos de código para ayudar a los desarrolladores a determinar la forma más óptima de utilizar IronWord.

Creación de un nuevo proyecto de consola en Visual Studio

Antes de sumergirnos en el ejemplo, comencemos creando un proyecto de consola en blanco en Visual Studio.

Haga clic en aplicación de consola al crear un nuevo proyecto

Luego proporcionamos un nombre y una ubicación de guardado para el proyecto.

Especifique el nombre y la ruta de ubicación para el proyecto.

A continuación, seleccione el framework .NET que utilizará. En este ejemplo, utilizaré .NET 8.0.

Seleccione el framework .NET deseado y haga clic en Crear.

Después de crear y configurar el nuevo proyecto de consola, instalemos nuestra biblioteca de palabras C#, IronWord.

Instalación de IronWord

Hay dos maneras de instalar IronWord.

1. Instalación mediante el Administrador de paquetes NuGet

Para instalarlo a través del Administrador de Paquetes NuGet, haga clic en herramientas y luego Administrar paquetes NuGet para solución. Luego buscamos IronWord en la barra de búsqueda e instalamos **IronWord**.

Instale IronWord usando el Administrador de Paquetes NuGet para solución buscando IronWord en la barra de búsqueda del Administrador de Paquetes NuGet, luego seleccione el proyecto y haga clic en el botón Instalar.

2. Instalación a través de la consola del administrador de paquetes NuGet

Un método alternativo es instalarlo a través de la Consola del Administrador de Paquetes NuGet. Para hacerlo, ejecute el siguiente comando en la consola:

Install-Package IronWord

Clave de licencia

Tenga en cuenta que IronWord no funciona sin una clave de licencia; puede obtener uno aquí como parte de una prueba gratuita.

Después de obtener una clave de prueba, asegúrese de que esta variable esté configurada en su proyecto.

// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Lectura de documentos de Word en C

Después de instalar los requisitos previos, demostraremos la simplicidad de leer un documento de Microsoft Word usando IronWord en el siguiente código.

Primero, importamos los namespaces necesarios. Usando IronWord, creamos un nuevo documento y añadimos texto de muestra. Luego accedemos a los párrafos y el texto usando el objeto WordDocument para imprimir el texto dentro del documento de Word.

using IronWord;
using IronWord.Models;

#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion

// Create text run with sample text
Text textRunExample = new Text("Sample text");

// Create a paragraph and add the text run to it
Paragraph paragraphExample = new Paragraph();
paragraphExample.AddChild(textRunExample);

// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraphExample);

// Export the document as a DOCX file
doc.SaveAs("document.docx");

// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
    foreach (Text textRun in paragraph.Texts)
    {
        // Access text content
        string content = textRun.Text;
        // Display the content to the console
        Console.WriteLine(content);
    }
}
using IronWord;
using IronWord.Models;

#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion

// Create text run with sample text
Text textRunExample = new Text("Sample text");

// Create a paragraph and add the text run to it
Paragraph paragraphExample = new Paragraph();
paragraphExample.AddChild(textRunExample);

// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraphExample);

// Export the document as a DOCX file
doc.SaveAs("document.docx");

// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
    foreach (Text textRun in paragraph.Texts)
    {
        // Access text content
        string content = textRun.Text;
        // Display the content to the console
        Console.WriteLine(content);
    }
}
Imports IronWord
Imports IronWord.Models

#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region

' Create text run with sample text
Dim textRunExample As New Text("Sample text")

' Create a paragraph and add the text run to it
Dim paragraphExample As New Paragraph()
paragraphExample.AddChild(textRunExample)

' Create a new Word document with the paragraph
Dim doc As New WordDocument(paragraphExample)

' Export the document as a DOCX file
doc.SaveAs("document.docx")

' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
	For Each textRun As Text In paragraph.Texts
		' Access text content
		Dim content As String = textRun.Text
		' Display the content to the console
		Console.WriteLine(content)
	Next textRun
Next paragraph
$vbLabelText   $csharpLabel

Exploremos los métodos y parámetros para leer archivos de Word desde el código anterior.

  1. Primero creamos un objeto Text y le asignamos la cadena "Texto de muestra".

  2. Luego instanciamos un objeto Paragraph y añadimos el "textRunExample" a él.

  3. También instanciamos un objeto WordDocument, lo nombramos WordDocument doc, y le pasamos el paragraphExample para crear un nuevo documento de Word que contenga el párrafo.

  4. El código guarda el documento de Word con el nombre de archivo "document.docx" para su uso posterior.

  5. Para acceder a los párrafos en el documento de Word que acabamos de crear, accedemos a la propiedad "Paragraphs" del objeto WordDocument. La propiedad "Paragraphs" es una lista. Por lo tanto, llamamos a un bucle foreach para iterar a través de ella.

  6. Para obtener el texto dentro del párrafo, accedemos a la propiedad "Texts" de Paragraphs. Esto también devuelve una lista de Text.

  7. Finalmente, asignamos el Text a una variable de cadena llamada "content" y la imprimimos en la consola.

Salida de consola

Salida de consola mostrando el texto leído desde el documento de Word doc.

Leer un documento de Word existente en C

En el ejemplo anterior, creamos programáticamente un nuevo documento de Word y leímos su contenido. Podemos seguir pasos similares para leer un documento de Word existente realizando algunos cambios en el código.

Documento de entrada

Ejemplo de entrada: Documento de Word de larga duración

using IronWord;
using IronWord.Models;

#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion

// Load an existing Word document
WordDocument doc = new WordDocument("existing_document.docx");

// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
    foreach (Text textRun in paragraph.Texts)
    {
        // Access text content
        string content = textRun.Text;
        // Display the content to the console
        Console.WriteLine(content);
    }
}
using IronWord;
using IronWord.Models;

#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion

// Load an existing Word document
WordDocument doc = new WordDocument("existing_document.docx");

// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
    foreach (Text textRun in paragraph.Texts)
    {
        // Access text content
        string content = textRun.Text;
        // Display the content to the console
        Console.WriteLine(content);
    }
}
Imports IronWord
Imports IronWord.Models

#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region

' Load an existing Word document
Dim doc As New WordDocument("existing_document.docx")

' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
	For Each textRun As Text In paragraph.Texts
		' Access text content
		Dim content As String = textRun.Text
		' Display the content to the console
		Console.WriteLine(content)
	Next textRun
Next paragraph
$vbLabelText   $csharpLabel

La principal diferencia entre los dos ejemplos es el parámetro que se pasa al objeto WordDocument. En lugar de crear un nuevo documento, cargamos un archivo de Word existente en él. El resto es igual al otro ejemplo.

Salida de consola

Salida de consola

Conclusión

Información de licencia de IronWord

A lo largo de los ejemplos, demostramos lo sencillo que es usar la biblioteca IronWord para manipular y leer documentos de Word programáticamente en C#. La flexibilidad y escalabilidad de la biblioteca IronWord la convierten en una herramienta valiosa que permite a los desarrolladores usar IronWord en ejemplos prácticos y de la vida real, como completar plantillas, generar informes y procesar documentos por lotes. Comprender cómo Word se integra con aplicaciones es valioso ya que proporciona a los desarrolladores más soluciones a sus problemas.

Además, los desarrolladores pueden probar las amplias características de IronWord por un período de tiempo antes de realizar la compra, ya que ofrece una licencia de prueba gratuita. Junto con la facilidad de uso, IronWord también viene con una completa documentación y soporte 24/5 soporte para los desarrolladores, aliviando la frustración constante que pueden enfrentar los desarrolladores ante la producción. También ofrecemos varios tutoriales y una serie de ejemplos de código como referencia para ayudarle a comenzar con IronWord.

Después de probar varios aspectos de IronWord utilizando una licencia de prueba, puede comprar nuestra licencia de desarrollador Lite que comienza en $599 y aumenta de Lite a Professional. Por favor, consulte nuestra página de licencias para obtener más información.

Preguntas Frecuentes

¿Cómo puedo leer un documento de Word usando C#?

Puedes usar IronWord para leer un documento de Word en C#. Simplemente carga el documento utilizando la clase WordDocument, luego itera a través de párrafos y ejecuciones de texto para acceder y mostrar el contenido de texto.

¿Cuál es una biblioteca confiable en C# para leer documentos de Word?

IronWord es una biblioteca confiable en C# diseñada para leer y manipular documentos de Word. Ofrece una API sencilla que simplifica la integración de funcionalidades de documentos de Word en aplicaciones.

¿Necesito tener Microsoft Office instalado para leer documentos de Word en C#?

No, IronWord no requiere que Microsoft Office esté instalado. Funciona de manera independiente, permitiéndote manipular documentos de Word sin necesitar una versión con licencia de Office.

¿Cómo puedo instalar una biblioteca en C# para leer documentos de Word en Visual Studio?

Puedes instalar IronWord a través del Gestor de Paquetes NuGet en Visual Studio buscando 'IronWord' y seleccionando 'Instalar', o utilizando la Consola del Gestor de Paquetes NuGet con el comando Install-Package IronWord.

¿Qué plataformas son compatibles con IronWord para la manipulación de documentos de Word?

IronWord es compatible con una variedad de plataformas, incluidas .NET Core (8, 7, 6, 5 y 3.1+), .NET Standard (2.0+), .NET Framework (4.6.2+), y Azure, y es compatible con Windows, Linux, macOS y Android.

¿Puedo manipular documentos de Word existentes usando una biblioteca en C#?

Sí, IronWord te permite leer y modificar tanto nuevos como existentes documentos de Word de manera programática, ofreciendo control total sobre el contenido y la estructura del documento.

¿Hay una prueba gratuita disponible para IronWord?

Sí, IronWord ofrece una licencia de prueba gratuita. Los desarrolladores pueden usar esta prueba para explorar sus características y evaluar su idoneidad para sus proyectos antes de comprar una licencia completa.

¿Cómo puedo convertir documentos de Word a otros formatos usando C#?

Puedes usar IronWord para convertir documentos de Word a varios formatos al aprovechar su API para exportar documentos a formatos como PDF, HTML y más, aunque los detalles de la conversión pueden variar.

¿Cuáles son algunos casos de uso comunes para IronWord en aplicaciones C#?

IronWord se utiliza comúnmente para tareas como completar plantillas, generar informes, procesar documentos por lotes e integrar funcionalidades de documentos de Word en aplicaciones .NET.

¿Qué opciones de soporte están disponibles para los usuarios de IronWord?

IronWord proporciona soporte 24/5, junto con documentación completa, tutoriales y ejemplos de código, para ayudar a los desarrolladores a utilizar efectivamente la biblioteca.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más