PDF, sendo um dos formatos de arquivo mais populares, é usado por quase todas as empresas e setores. Os documentos PDF podem conter diversos conteúdos, incluindo texto formatado, imagens, anotações, etc. Geralmente é necessário extrair o conteúdo dos arquivos PDF. Aqui neste artigo, discutiremos como extrair imagens programaticamente de documentos PDF em Java.

API Java para extrair imagens de arquivos PDF

GroupDocs fornece GroupDocs.Parser para desenvolvedores Java para a extração de imagens de arquivos PDF. Juntamente com o arquivo PDF, a mesma API oferece suporte à análise e extração de imagens de vários outros formatos de documento, como documentos de processamento de texto, planilhas, eBooks, apresentações, e-mails, arquivos ZIP e muitos outros formatos de documento .

Baixar ou Configurar

Você pode baixar o arquivo JAR na seção de downloads ou apenas obter as configurações de repositório e dependência para o pom.xml de seus aplicativos Java baseados em maven.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

Etapas para extrair imagens de um documento PDF em Java

A seguir estão os pontos passo a passo que mostram como obter imagens do arquivo PDF usando algumas linhas de código Java.

  1. Crie um novo projeto.
  2. Baixe a API conforme mencionado acima ou atualize para a versão mais recente da API.
  3. Importe as seguintes classes:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Carregue o documento PDF usando a classe Parser.
// Carregar arquivo PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // O código de extração de imagem vai aqui.
}
  1. Extraia todas as imagens do documento usando o método getImages.
// Extrair imagens do arquivo carregado
Iterable<PageImageArea> images = parser.getImages();
  1. Acesse cada imagem da coleção e salve-a usando o método save.
// Salve o arquivo com sua extensão
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

As imagens podem ser salvas em vários formatos de imagem diferentes, como PNG, JPG, BMP, WebP ou GIF.

Java Complete Code – Extração de imagem de PDF

Aqui está o código-fonte completo que permite obter todas as imagens do arquivo PDF fornecido.

// Extrair imagens de arquivo PDF em Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // Obter imagens
    Iterable<PageImageArea> images = parser.getImages();
    
    // Verifique se a extração de imagens é suportada
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // Iterar imagens extraídas
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

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 em Java.

consulte Mais informação

Você pode explorar mais sobre a API Java de extração de dados usando sua documentação. Você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também