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 múltiples 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 los documentos PDF mediante programación en C# usando [GroupDocs.Parser para .NET](https://products.groupdocs. com/parser) API. Vamos a empezar.

Pasos para extraer imágenes de un documento PDF

1. Crea un nuevo proyecto.

2. Descargue GroupDocs.Parser para .NET o instálelo usando [NuGet](https://www.nuget.org/packages /GroupDocs.Parser).

3. Agregue los siguientes espacios de nombres.

using GroupDocs.Parser;
using GroupDocs.Parser.Data;
using System.Drawing;
using System.Drawing.Imaging;

4. Cargue el documento PDF.

// Crear una instancia de la clase Parser
using (Parser parser = new Parser("sample.pdf"))
{
  // tu código va aquí.
}

5. Extraer imágenes del documento.

// 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;
}

6. Accede a cada imagen de la colección y guárdala.

// Iterar sobre imágenes
foreach (PageImageArea image in images)
{
  // Guardar imágenes
  Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
}

Código completo

// Crear una instancia de la clase Parser
using (Parser parser = new Parser("C:\\candy.pdf"))
{
	// 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;
	}
	
	int counter = 1;
	// Iterar sobre imágenes
	foreach (PageImageArea image in images)
	{
		// Guarda cada imagen
		Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
	}
}

Resultados

Documento PDF

Documento PDF para extraer imágenes.

Imágenes extraídas

Imágenes extraídas del PDF.

Para obtener una lista completa de las funciones proporcionadas por GroupDocs.Parser para la API de .NET, visite la documentación. ¡Salud!