El formato de documento portátil (PDF) es un formato de documento popular y ampliamente utilizado desarrollado por Adobe. Los documentos PDF pueden contener una variedad de contenido, incluido texto formateado, imágenes, anotaciones, campos de formulario, etc. El análisis de documentos PDF mediante programación es un caso de uso popular y existen varias formas de extraer el texto. Sin embargo, extraer imágenes de un documento PDF es una tarea compleja. Este artículo demuestra con qué facilidad puede extraer imágenes de documentos PDF mediante programación en C#.

.NET API para extraer imágenes de archivos PDF

GroupDocs.Parser for .NET API desempeñará su papel en la extracción de imágenes de archivos PDF. Junto con el PDF, la API admite el análisis y la extracción de imágenes de documentos de procesamiento de texto, hojas de cálculo, libros electrónicos, presentaciones, correos electrónicos, archivos ZIP y muchos otros formatos de documentos.

Puede descargar las DLL o el instalador MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Parser

Pasos para extraer imágenes de un documento PDF usando C#

Veamos rápidamente paso a paso cómo obtener imágenes del archivo PDF usando unas pocas líneas de código C#.

  1. Crear un nuevo proyecto.
  2. Descargue la API como se mencionó anteriormente o actualice a la última versión de la API.
  3. Agregue los siguientes espacios de nombres:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Cargue el documento PDF utilizando la clase Parser.
// Crear una instancia de la clase Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // su código va aquí.
}
  1. Extraiga imágenes del documento utilizando el método GetImages.
// Extraer imágenes
IEnumerable<PageImageArea> images = parser.GetImages();

// Compruebe si se admite la extracción de imágenes
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. Acceda a cada imagen de la colección y guárdela usando el método Guardar.
// Iterar sobre las imágenes recuperadas
foreach (PageImageArea image in images)
{
    // Guardar imágenes
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

Puede guardar las imágenes en varias imágenes diferentes como JPG, PNG, BMP, WebP o GIF.

Código completo de C#: extracción de imágenes de PDF

Aquí está el código completo que le permitirá obtener todas las imágenes de un archivo PDF.

// Extrae imágenes de PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Compruebe si se admite la extracción de imágenes
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Iterar sobre las imágenes recuperadas
    foreach (PageImageArea image in images)
    {
        // Guardar imágenes
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

Resultados

Documento PDF de muestra

Documento PDF con imágenes para extraer.

Imágenes extraídas

Imágenes extraídas del PDF.

Si lo requiere, también se explica en un artículo separado cómo puede Extraer imágenes de cualquier página específica de un documento PDF usando C#.

Lee mas

Puede explorar más sobre la API de extracción de datos de .NET usando su documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también