Para adicionar imagem em PDF, usaremos a API Aspose.PDF for Java, que é uma API de conversão rica em recursos, poderosa e fácil de usar para a plataforma Java. Você pode baixar sua versão mais recente diretamente do Maven e instalá-la em seu projeto baseado em Maven adicionando as seguintes configurações ao pom.xml.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java AP</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>
Adicionar imagem ao PDF usando Java
Você precisa do Aspose.PDF for Java para testar o código em seu ambiente.
- Crie um objeto Document e abra o documento PDF de entrada.
- Obtenha a página que você deseja adicionar uma imagem.
- Adicione a imagem à coleção Resources da página.
- Use o operador GSave para salvar o estado gráfico atual.
- Use o operador ConcatenateMatrix para especificar onde a imagem deve ser colocada.
- Use o operador Fazer para desenhar a imagem na página.
- Use o operador GRestore para salvar o estado gráfico atualizado.
- Salve o arquivo PDF.
Adicionar imagem ao documento PDF - Java
Document pdfDocument = new Document(dataDir+ "AddImage.pdf");
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
Page page = pdfDocument.Pages[1];
FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);
page.Resources.Images.Add(imageStream);
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
dataDir = dataDir + "AddImage_out.pdf";
pdfDocument.Save(dataDir);