Extract Media from Word Documents

Cómo extraer texto, imágenes y metadatos de los documentos de Word en .NET

La extracción de texto, imágenes y metadatos de los documentos de Word es esencial para el análisis y el procesamiento de documentos. Aspose.Words para .NET, los desarrolladores pueden recuperar de forma programática el contenido y las propiedades de los documentos para diversos casos de uso, como la indexación, el archivo o la transformación del contenido.

Prerequisitos

  • Install the .NET SDK.
  • Añade el paquete Aspose.Words NuGet:dotnet add package Aspose.Words
  • Escribir un documento de texto (document.docx) con texto, imágenes y metadatos.

Guía paso a paso para extraer contenido de los archivos de Word

1.- Cargar el documento de la palabra

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        // Step 1: Load the Word document
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        // Steps 2, 3, and 4 will be added below
    }
}

Explicación: Este código carga el documento de Word especificado en la memoria para su procesamiento adicional.

2.Extracto de texto del documento

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        // Step 2: Extract Text
        string text = doc.GetText();
        Console.WriteLine("Extracted Text: " + text);

        // Steps 3 and 4 will be added below
    }
}

Explicación: Este código extrae todo el contenido de texto del documento de Word cargado y lo imprime en la consola.

Extraer metadatos del documento

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        string text = doc.GetText();
        Console.WriteLine("Extracted Text: " + text);

        // Step 3: Extract Metadata
        Console.WriteLine("Title: " + doc.BuiltInDocumentProperties.Title);
        Console.WriteLine("Author: " + doc.BuiltInDocumentProperties.Author);
        Console.WriteLine("Created Date: " + doc.BuiltInDocumentProperties.CreatedTime);

        // Step 4 will be added below
    }
}

Explicación: Este código extrae y imprime los metadatos de título, autor y fecha de creación del documento de Word.

Extraer imágenes del documento

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        string text = doc.GetText();
        Console.WriteLine("Extracted Text: " + text);

        Console.WriteLine("Title: " + doc.BuiltInDocumentProperties.Title);
        Console.WriteLine("Author: " + doc.BuiltInDocumentProperties.Author);
        Console.WriteLine("Created Date: " + doc.BuiltInDocumentProperties.CreatedTime);

        // Step 4: Extract Images
        int imageCount = 0;
        foreach (var shape in doc.GetChildNodes(NodeType.Shape, true))
        {
            if (shape is Shape { HasImage: true } imageShape)
            {
                string imageFilePath = $"Image_{++imageCount}.png";
                imageShape.ImageData.Save(imageFilePath);
                Console.WriteLine($"Saved Image: {imageFilePath}");
            }
        }

        Console.WriteLine("Content extraction completed.");
    }
}

Explicación: Este código extrae todas las imágenes del documento de Word y las salva como archivos PNG en el directorio de proyectos.

5.Testando la solución

  • Ensure document.docx is in the project directory.
  • Descarga el programa y verifique:- Texto extraído en la salida de la consola.
  • Detalles de metadatos impresos.
  • Imágenes extraídas guardadas en la carpeta del proyecto.

Cómo despliegue y ejecutar en las principales plataformas

Windows

  • Instalar el tiempo de ejecución .NET y implementar la aplicación.
  • Testar la aplicación corriéndola a través de la línea de comando.

Linux

  • Instalar el .NET Runtime.
  • Utilice comandos terminales para ejecutar la aplicación o alojarla en un servidor.

MacOS

  • Executar la aplicación con Kestrel o desplegarla en un servicio en la nube.

Problemas y soluciones comunes

  • Imágenes no extraídas:- Asegúrese de que el documento contiene imágenes incorporadas y no externamente vinculadas.

  • Metadatos que faltan:- Asegúrese de que el documento tiene propiedades de metadatos como el título o el conjunto de autor.

  • Procesamiento de archivos largos:- Utilice un enfoque eficiente de la memoria, como el procesamiento de secciones específicas del documento.

Con esta guía, puede extraer de manera programática contenido valioso de los documentos de Word utilizando Aspose.Words para .NET.

 Español