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
- Adicionar uma imagem em um PDF usando Java
- Extrair uma imagem de um PDF usando Java
- Remover imagens de um PDF usando Java
- Substituir uma imagem em um PDF usando Java
- Obtenha uma licença gratuita
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.
- Primeiro, crie uma instância da classe Document para carregar o documento PDF.
- Obtenha a Page à qual deseja adicionar uma imagem usando o método Document.getPages().getItem(int).
- Carregue o arquivo de imagem em um objeto FileInputStream.
- Adicione a imagem aos recursos da página usando o método Page.getResources().getImages().add(FileInputStream).
- Use operadores para colocar a imagem na página:
- operador GSave para salvar o estado gráfico atual.
- ConcatenateMatrix para especificar onde a imagem deve ser colocada.
- Do operador para desenhar a imagem na página.
- GRestore para salvar o estado gráfico atualizado.
- Por fim, salve o arquivo PDF atualizado usando o método Document.save(string).
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.
- Crie uma instância da classe Document para carregar o documento PDF.
- Extraia a imagem desejada no objeto XImage usando o método Document.getPages().getItem(int).getResources().getImages().getItem(int).
- Você também pode percorrer a coleção de imagens para extrair e salvar todas as imagens.
- Por fim, salve a imagem extraída como um arquivo usando OutputStream.
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.
- Carregue o arquivo PDF em um objeto Document.
- Exclua a(s) imagem(ns) desejada(s) usando um dos métodos a seguir.
- excluir() to delete images from collection.
- delete(int índice) to delete an image from the collection by index.
- delete(Nome da string) to delete an image from the collection by name.
- Por fim, salve o arquivo PDF atualizado usando o método Document.save(string).
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.
- Carregue o arquivo PDF em um objeto Document.
- Carregue a nova imagem no objeto FileInputStream.
- Use o método Document.getPages().getItem(int).getResources().getImages().replace(int, FileInputStream) para substituir a imagem especificando o índice.
- Por fim, salve o arquivo PDF atualizado usando o método Document.save(string).
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.