Trabalhar com imagens PDF usando Java

As imagens são amplamente utilizadas para diferentes tipos de representações e demonstrações em arquivos PDF. Neste artigo, você aprenderá como manipular imagens em arquivos PDF programaticamente. Particularmente, o artigo abordará como adicionar, extrair, remover ou substituir imagens em arquivos PDF usando Java.

API Java para adicionar e manipular imagens em PDF - Download grátis

Aspose.PDF for Java é uma API poderosa que fornece uma ampla variedade de recursos de manipulação de PDF. A API permite que você trabalhe com texto, anotações ou imagens nos arquivos PDF sem problemas. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.2</version>
</dependency>

Adicionar imagem ao arquivo PDF em Java

A seguir estão as etapas para adicionar uma imagem no arquivo PDF em Java.

O exemplo de código a seguir mostra como adicionar imagem a um arquivo PDF em Java.

// Abra um documento
Document pdfDocument1 = new Document("input.pdf");

// Definir coordenadas
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Obtenha a página à qual deseja adicionar a imagem
Page page = pdfDocument1.getPages().get_Item(1);

// Carregar imagem no fluxo
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));

// Adicionar uma imagem à coleção Imagens dos recursos da página
page.getResources().getImages().add(imageStream);

// Usando o operador GSave: este operador salva o estado gráfico atual
page.getContents().add(new Operator.GSave());

// Criar objetos Retângulo e Matriz
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });

// Usando o operador ConcatenateMatrix (concatenate matrix): define como a imagem deve ser colocada
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());

// Usando o operador Do: este operador desenha a imagem
page.getContents().add(new Operator.Do(ximage.getName()));

// Usando o operador GRestore: este operador restaura o estado gráfico
page.getContents().add(new Operator.GRestore());

// Salve o novo PDF
pdfDocument1.save("Updated_document.pdf");

// Fechar fluxo de imagens
imageStream.close();

Extrair imagens de um arquivo PDF usando Java

A seguir estão as etapas para extrair imagens de um documento PDF usando Java.

O exemplo de código a seguir mostra como extrair imagens de arquivos PDF usando Java.

// Abra um documento
Document pdfDocument = new Document("input.pdf");

// Extraia uma imagem específica
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);

// Criar objeto de fluxo para salvar a imagem de saída
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");

// Salve a imagem de saída
xImage.save(output);

// Fechar fluxo
output.close();

Remover imagens de um arquivo PDF usando Java

A seguir estão as etapas para remover uma imagem de um arquivo PDF usando Java.

O exemplo de código a seguir mostra como excluir uma imagem em PDF usando Java.

// Abra um documento
Document pdfDocument = new Document("input.pdf");

// Excluir uma imagem específica
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);

// Salve o arquivo PDF atualizado
pdfDocument.save("output.pdf");

Substituir uma imagem em um arquivo PDF usando Java

A seguir estão as etapas para substituir uma imagem em um arquivo PDF usando Java.

O exemplo de código a seguir mostra como substituir uma imagem em PDF usando Java.

// Abra um documento
Document pdfDocument = new Document("input.pdf");

// Substituir uma imagem específica
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("apose.png")));

// Salve o arquivo PDF atualizado
pdfDocument.save("output.pdf");

API Java para adicionar imagens em PDF - Obtenha uma licença de API gratuita

Você pode experimentar o Aspose.PDF para Java gratuitamente obtendo uma licença temporária.

Conclusão

Neste artigo, você aprendeu como manipular imagens em arquivos PDF usando Java. O guia passo a passo e os exemplos de código mostraram como extrair, adicionar, remover e substituir imagens em um arquivo PDF. Você pode explorar outros recursos do Aspose.PDF para Java usando documentação. Em caso de dúvidas, você pode entrar em contato conosco através do nosso fórum.

Veja também