Trabalhando com imagens em documentos PDF via Java

Biblioteca moderna Java para manipular imagens em PDF usando nossas APIs.

Adicionar imagem ao documento PDF usando a biblioteca Java

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

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Adicionar imagem ao PDF via Java


Você precisa do Aspose.PDF for Java para testar o código em seu ambiente.

  1. Crie um objeto Document e abra o documento PDF de entrada.
  2. Obtenha a página que você deseja adicionar uma imagem.
  3. Adicione a imagem à coleção Resources da página.
  4. Use o operador GSave para salvar o estado gráfico atual.
  5. Use o operador ConcatenateMatrix para especificar onde a imagem deve ser colocada.
  6. Use o operador Fazer para desenhar a imagem na página.
  7. Use o operador GRestore para salvar o estado gráfico atualizado.
  8. Salve o arquivo PDF.

Adicionar imagem em um arquivo PDF existente - Java

Example: 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);