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

Imagens extraídas

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