Extraer texto de DOCX con IronWord

This article was translated from English: Does it need improvement?
Translated
View the article in English

El método ExtractText() de IronWord permite extraer texto de archivos DOCX accediendo a documentos completos, párrafos específicos o celdas de tablas, proporcionando una API sencilla para tareas de procesamiento de documentos y análisis de datos en C#.

como-encabezamiento:2(Inicio rápido: extraer texto de DOCX)

  1. Instale el paquete NuGet de IronWord: Install-Package IronWord
  2. Crea o carga un WordDocument: WordDocument doc = new WordDocument("documento.docx");
  3. Extraer todo el texto: string text = doc.ExtractText();
  4. Extracto de un párrafo específico: string para = doc.Párrafos[0].ExtraerTexto();
  5. Extraer de la celda de la tabla: string cell = doc.Tablas[0].Filas[0].Celdas[0].ExtraerTexto();

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronWord con el gestor de paquetes NuGet

    PM > Install-Package IronWord

  2. Copie y ejecute este fragmento de código.

    using IronWord;
    
    // Quick example: Extract all text from DOCX
    WordDocument doc = new WordDocument("sample.docx");
    string allText = doc.ExtractText();
    Console.WriteLine(allText);
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronWord en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

La extracción de texto de archivos DOCX es un requisito común para el procesamiento de documentos y el análisis de datos. IronWord ofrece una forma sencilla de leer y extraer contenido de texto de archivos DOCX existentes, lo que permite acceder a párrafos, tablas y otros elementos de texto mediante programación.

Este tutorial cubre el método ExtractText() en detalle y demuestra cómo acceder al texto de varios elementos del documento. Tanto si está creando un sistema de indexación de documentos, una solución de gestión de contenidos o un canal de extracción de datos, es esencial que sepa cómo extraer texto de documentos de Word de forma eficaz.

Comience a usar IronWord

Comience a usar IronWord en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer


¿Cómo extraer todo el texto de un documento DOCX?

El método ExtractText() recupera el contenido de texto de un documento de Word completo. En este ejemplo, creamos un nuevo documento, le añadimos texto, extraemos el texto mediante ExtractText() y lo mostramos en la consola. Aquí se muestra el flujo de trabajo principal de extracción de texto.

El texto extraído mantiene el orden lógico de lectura del documento. El método procesa encabezados, párrafos, listas y otros elementos de texto en secuencia, lo que lo hace ideal para aplicaciones de análisis de contenidos e indexación de búsquedas.

:path=/static-assets/word/content-code-examples/how-to/extract-text-simple.cs
using IronWord;

// Instantiate a new DOCX file
WordDocument doc = new WordDocument();

// Add text
doc.AddText("Hello, World!");

// Print extracted text from the document to the console
Console.WriteLine(doc.ExtractText());
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el texto extraído?

Documento de Microsoft Word que muestra el texto

¿Qué resultados puedo esperar de la consola?

Ejemplo de código que muestra Console.WriteLine imprimiendo el texto extraído, con la consola de depuración mostrando la salida '¡Hola, mundo!

¿Cómo puedo extraer texto de párrafos específicos?

Para tener más control, puede extraer texto de párrafos específicos en lugar de todo el documento. Accediendo a la colección Párrafos, puede seleccionar y procesar cualquier párrafo que necesite. Este enfoque granular es útil cuando se trata de documentos con contenido estructurado o cuando es necesario procesar secciones específicas de forma independiente.

En este ejemplo, extraemos texto de los párrafos primero y último, los combinamos y guardamos el resultado en un archivo .txt. Esta técnica se utiliza comúnmente en herramientas de resumen de documentos en las que se desea extraer la introducción y la conclusión de un documento. Al igual que utiliza las claves de licencia para desbloquear funciones, la colección Paragraphs te da acceso a elementos específicos del documento.

:path=/static-assets/word/content-code-examples/how-to/extract-text-paragraphs.cs
using IronWord;
using System.IO;

// Load an existing DOCX file
WordDocument doc = new WordDocument("document.docx");

// Extract text and assign variables
string firstParagraph = doc.Paragraphs[0].ExtractText();
string lastParagraph = doc.Paragraphs.Last().ExtractText();

// Combine the texts
string newText = firstParagraph + " " + lastParagraph;

// Export the combined text as a new .txt file
File.WriteAllText("output.txt", newText);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La capacidad de extraer párrafos específicos resulta muy útil cuando se combina con los requisitos de análisis de documentos. Por ejemplo, puede extraer párrafos clave en función de su formato, posición o patrones de contenido. Este enfoque de extracción selectiva ayuda a reducir el tiempo de procesamiento y se centra en el contenido más relevante.

¿Qué contenido se extrae del primer párrafo?

Documento de Word que muestra un párrafo formateado en rojo sobre un párrafo de texto negro para la demostración de extracción

¿Qué contenido se extrae del último párrafo?

Documento de Microsoft Word que muestra párrafos formateados con texto Lorem ipsum en colores morado y azul

¿Cómo aparece el texto combinado en el archivo de salida?

Editor de texto que muestra los puntos de extracción de párrafos marcados con flechas rojas y azules que indican los límites de los párrafos

Las capturas de pantalla anteriores muestran la extracción del primer párrafo, la extracción del último párrafo y el resultado combinado guardado en un archivo de texto. Observa cómo el proceso de extracción conserva el contenido del texto y elimina la información de formato, lo que lo hace adecuado para el procesamiento de texto sin formato.

¿Cómo extraer datos de tablas en DOCX?

Las tablas a menudo contienen datos estructurados que deben extraerse para su procesamiento o análisis. IronWord le permite acceder a los datos de la tabla navegando a través de filas y celdas. En este ejemplo, cargamos un documento que contiene una tabla de estadísticas de API y extraemos un valor de celda específico de la cuarta columna de la segunda fila.

La extracción de tablas es esencial para proyectos de migración de datos, generación de informes y flujos de trabajo automatizados de recopilación de datos. Cuando se trabaja con datos tabulares, es crucial comprender el sistema de indexación basado en ceros: la primera tabla es Tables[0], la primera fila es Rows[0], y así sucesivamente. Este enfoque sistemático, similar a las estructuras de licencias, proporciona patrones de acceso predecibles.

:path=/static-assets/word/content-code-examples/how-to/extract-text-table.cs
using IronWord;

// Load the API statistics document
WordDocument apiStatsDoc = new WordDocument("api-statistics.docx");

// Extract text from the 1st table, 4th column and 2nd row
string extractedValue = apiStatsDoc.Tables[0].Rows[2].Cells[3].ExtractText();

// Print extracted value
Console.WriteLine($"Target success rate: {extractedValue}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Qué aspecto tiene la tabla de origen?

Tabla de estadísticas de uso de la API en Word que muestra 6 puntos finales con solicitudes, latencia, tasas de éxito y métricas de ancho de banda

¿Qué valor se obtiene de la celda de la tabla?

Salida de consola que muestra el valor de tabla extraído 'Target success rate: 99.8%' en la consola de depuración de Visual Studio

Escenarios avanzados de extracción de texto

Cuando se trabaja con documentos complejos, puede ser necesario combinar varias técnicas de extracción. He aquí un ejemplo que demuestra cómo extraer texto de varios elementos y procesarlos de forma diferente:

using IronWord;
using System.Text;
using System.Linq;

// Load a complex document
WordDocument complexDoc = new WordDocument("report.docx");

// Create a StringBuilder for efficient string concatenation
StringBuilder extractedContent = new StringBuilder();

// Extract and process headers (assuming they're in the first few paragraphs)
var headers = complexDoc.Paragraphs
    .Take(3)
    .Select(p => p.ExtractText())
    .Where(text => !string.IsNullOrWhiteSpace(text));

foreach (var header in headers)
{
    extractedContent.AppendLine($"HEADER: {header}");
}

// Extract table summaries
foreach (var table in complexDoc.Tables)
{
    // Get first cell as table header/identifier
    string tableIdentifier = table.Rows[0].Cells[0].ExtractText();
    extractedContent.AppendLine($"\nTABLE: {tableIdentifier}");

    // Extract key metrics (last row often contains totals)
    if (table.Rows.Count > 1)
    {
        var lastRow = table.Rows.Last();
        var totals = lastRow.Cells.Select(cell => cell.ExtractText());
        extractedContent.AppendLine($"Totals: {string.Join(", ", totals)}");
    }
}

// Save the structured extraction
System.IO.File.WriteAllText("structured-extract.txt", extractedContent.ToString());
using IronWord;
using System.Text;
using System.Linq;

// Load a complex document
WordDocument complexDoc = new WordDocument("report.docx");

// Create a StringBuilder for efficient string concatenation
StringBuilder extractedContent = new StringBuilder();

// Extract and process headers (assuming they're in the first few paragraphs)
var headers = complexDoc.Paragraphs
    .Take(3)
    .Select(p => p.ExtractText())
    .Where(text => !string.IsNullOrWhiteSpace(text));

foreach (var header in headers)
{
    extractedContent.AppendLine($"HEADER: {header}");
}

// Extract table summaries
foreach (var table in complexDoc.Tables)
{
    // Get first cell as table header/identifier
    string tableIdentifier = table.Rows[0].Cells[0].ExtractText();
    extractedContent.AppendLine($"\nTABLE: {tableIdentifier}");

    // Extract key metrics (last row often contains totals)
    if (table.Rows.Count > 1)
    {
        var lastRow = table.Rows.Last();
        var totals = lastRow.Cells.Select(cell => cell.ExtractText());
        extractedContent.AppendLine($"Totals: {string.Join(", ", totals)}");
    }
}

// Save the structured extraction
System.IO.File.WriteAllText("structured-extract.txt", extractedContent.ToString());
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Este ejemplo avanzado muestra cómo crear extracciones estructuradas combinando distintos elementos del documento. Este enfoque es útil para generar resúmenes de documentos, crear índices o preparar datos para su posterior procesamiento. Al igual que las actualizaciones mejoran las capacidades del software, la combinación de métodos de extracción mejora sus capacidades de procesamiento de documentos.

Mejores prácticas para la extracción de texto

A la hora de implementar la extracción de texto en aplicaciones de producción, ten en cuenta estas prácticas recomendadas:

  1. Manejo de errores: Envuelva siempre el código de extracción en bloques try-catch para manejar documentos que puedan estar corruptos o tener estructuras inesperadas.

  2. Optimización del rendimiento: Para documentos de gran tamaño o procesamiento por lotes, considere la posibilidad de extraer solo las partes necesarias en lugar de todo el contenido del documento.

  3. Codificación de caracteres: Ten en cuenta la codificación de caracteres al guardar el texto extraído, especialmente en el caso de documentos que contengan caracteres especiales o varios idiomas.

  4. Gestión de memoria: Al procesar varios documentos, disponga correctamente de los objetos WordDocument para evitar fugas de memoria.

Recuerde que la extracción de texto conserva el orden lógico de lectura, pero elimina el formato. Si necesita mantener información de formato, considere el uso de funciones adicionales de IronWord o el almacenamiento de metadatos por separado. Para los despliegues de producción, revise el changelog para mantenerse al día con las últimas características y mejoras.

Resumen

El método ExtractText() de IronWord proporciona una forma potente y flexible de extraer texto de archivos DOCX. Tanto si necesita extraer documentos enteros, párrafos específicos o datos de tablas, la API ofrece métodos sencillos para lograr sus objetivos. Combinando estas técnicas con una gestión de errores y estrategias de optimización adecuadas, podrás crear aplicaciones de procesamiento de documentos sólidas que gestionen de forma eficiente diversos escenarios de extracción de texto.

Para escenarios más avanzados y para explorar funciones adicionales, consulte extensiones y otros recursos de documentación para mejorar sus capacidades de procesamiento de documentos.

Preguntas Frecuentes

¿Cómo puedo extraer todo el texto de un documento de Word en C#?

Utilice el método ExtractText() de IronWord en un objeto WordDocument. Simplemente cargue su archivo DOCX con WordDocument doc = new WordDocument("document.docx"); y luego llame a string text = doc.ExtractText(); para recuperar todo el contenido de texto del documento.

¿Puedo extraer texto de párrafos específicos en lugar de todo el documento?

Sí, IronWord le permite extraer texto de párrafos específicos accediendo a la colección Párrafos. Utilice doc.Paragraphs[index].ExtractText() para extraer texto de párrafos concretos.

¿Cómo puedo extraer texto de tablas en archivos DOCX?

IronWord permite la extracción de texto de tablas a través de la colección Tables. Acceda a celdas específicas mediante doc.Tables[0].Rows[0].Cells[0].ExtractText() para recuperar el contenido de texto de cualquier celda de tabla del documento.

¿Qué orden sigue el texto extraído cuando se utiliza ExtractText()?

El método ExtractText() de IronWord mantiene el orden lógico de lectura del documento, procesando encabezados, párrafos, listas y otros elementos de texto en secuencia, lo que lo hace ideal para el análisis de contenido y la indexación de búsquedas.

¿Cuáles son los pasos básicos para empezar a extraer texto de archivos DOCX?

En primer lugar, instale IronWord a través de NuGet (Install-Package IronWord); a continuación, cree o cargue un WordDocument y, por último, utilice el método ExtractText() para recuperar texto de todo el documento, de párrafos específicos o de celdas de tablas, según sea necesario.

¿Es adecuada la extracción de texto para crear sistemas de indexación de documentos?

Sí, las capacidades de extracción de texto de IronWord son perfectas para crear sistemas de indexación de documentos, soluciones de gestión de contenidos y conductos de extracción de datos, proporcionando un acceso programático eficaz al contenido de los documentos de Word.

Ahmad Sohail
Desarrollador Full Stack

Ahmad es un desarrollador full-stack con una sólida base en C#, Python y tecnologías web. Tiene un profundo interés en construir soluciones de software escalables y disfruta explorando cómo el diseño y la funcionalidad se encuentran en aplicaciones del mundo real.

Antes ...

Leer más
¿Listo para empezar?
Nuget Descargas 28,054 | Versión: 2025.12 recién lanzado