Portable Document Format (PDF) é um formato de documento popular e amplamente utilizado desenvolvido pela Adobe. Os documentos PDF podem conter uma variedade de conteúdo, incluindo texto formatado, imagens, anotações, campos de formulário, etc. Analisar um documento PDF programaticamente é um caso de uso popular e há várias maneiras de extrair o texto. No entanto, extrair imagens de um documento PDF é uma tarefa complexa. Este artigo demonstra como é fácil extrair imagens de documentos PDF programaticamente em C# usando [GroupDocs.Parser for .NET](https://products.groupdocs. com/parser) API. Então vamos começar.

Etapas para extrair imagens de um documento PDF

1. Crie um novo projeto.

2. Faça o download do GroupDocs.Parser for .NET ou instale-o usando o [NuGet](https://www.nuget.org/packages /GroupDocs.Parser).

3. Adicione os seguintes namespaces.

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

4. Carregue o documento PDF.

// Crie uma instância da classe Parser
using (Parser parser = new Parser("sample.pdf"))
{
  // seu código vai aqui.
}

5. Extraia imagens do documento.

// Extrair imagens
IEnumerable<PageImageArea> images = parser.GetImages();
// Verifique se a extração de imagens é suportada
if (images == null)
{
  Console.WriteLine("Images extraction isn't supported");
  return;
}

6. Acesse cada imagem da coleção e salve-a.

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

Código completo

// Crie uma instância da classe Parser
using (Parser parser = new Parser("C:\\candy.pdf"))
{
	// Extrair imagens
	IEnumerable<PageImageArea> images = parser.GetImages();
	// Verifique se a extração de imagem é suportada
	if (images == null)
	{
		Console.WriteLine("Images extraction isn't supported");
		return;
	}
	
	int counter = 1;
	// Iterar sobre imagens
	foreach (PageImageArea image in images)
	{
		// Salve cada imagem
		Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
	}
}

Resultados

Documento PDF

Documento PDF para extrair imagens.

Imagens extraídas

imagens extraídas do PDF.

Para obter uma lista completa de recursos fornecidos pelo GroupDocs.Parser para .NET API, visite a documentação. Felicidades!