Portable Document Format (PDF) é um formato de documento popular e amplamente utilizado desenvolvido pela Adobe. Documentos PDF podem conter uma variedade de conteúdo, incluindo texto formatado, imagens, anotações, campos de formulário, etc. Analisar documentos 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#.
API .NET para extrair imagens de arquivos PDF
GroupDocs.Parser for .NET API desempenhará seu papel na extração de imagens de arquivos PDF. Juntamente com o PDF, a API oferece suporte à análise e extração de imagens de documentos de processamento de texto, planilhas, eBooks, apresentações, e-mails, arquivos ZIP e muitos outros formatos de documento.
Você pode baixar as DLLs ou o instalador MSI na seção de downloads ou instalar a API em seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Parser
Etapas para extrair imagens de um documento PDF usando C#
Vejamos rapidamente, passo a passo, como obter imagens do arquivo PDF usando algumas linhas de código C#.
- Crie um novo projeto.
- Baixe a API conforme mencionado acima ou atualize para a versão mais recente da API.
- Adicione os seguintes namespaces:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- Carregue o documento PDF usando a classe Parser.
// Crie uma instância da classe Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // seu código vai aqui.
}
- Extraia imagens do documento usando o método GetImages.
// 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;
}
- Acesse cada imagem da coleção e salve-a usando o método Save.
// Iterar sobre as imagens recuperadas
foreach (PageImageArea image in images)
{
    // Salvar Imagens
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}
Você pode salvar as imagens em várias imagens diferentes, como JPG, PNG, BMP, WebP ou GIF.
Código Completo C# – Extração de Imagem de PDF
Aqui está o código completo que permitirá obter todas as imagens de um arquivo PDF.
// Extraia imagens de PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Verifique se a extração de imagem é suportada
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Iterar sobre as imagens recuperadas
    foreach (PageImageArea image in images)
    {
        // Salvar Imagens
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}
Resultados
Exemplo de Documento PDF
 
 
Imagens Extraídas
 
 
Se você precisar, também é explicado em um artigo separado como você pode Extrair imagens de qualquer página específica de um documento PDF usando C#.
consulte Mais informação
Você pode explorar mais sobre a API de extração de dados .NET usando sua documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.