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#.

  1. Crie um novo projeto.
  2. Baixe a API conforme mencionado acima ou atualize para a versão mais recente da API.
  3. Adicione os seguintes namespaces:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. 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.
}
  1. 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;
}
  1. 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

Documento PDF com imagens para extrair.

Imagens Extraídas

imagens extraídas do PDF.

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.

Veja também