Como inserir imagem em PDF usando Java

Este artigo auxilia em como inserir imagem em PDF usando Java. Ele fornece detalhes sobre a configuração do IDE, um processo passo a passo para escrever o aplicativo e um código de amostra executável para adicionar imagem ao PDF usando Java. Você também aprenderá diferentes opções para personalizar o processo para renderizar a imagem em qualquer formato, digamos PNG, JPEG, etc., e colocar a imagem na posição desejada na página PDF.

Etapas para colocar imagem em PDF usando Java

  1. Estabeleça o ambiente para usar Aspose.PDF for Java para inserir uma imagem
  2. Carregue o arquivo PDF de origem, obtenha acesso ao primeiro page para adicionar uma imagem e salve o estado gráfico
  3. Crie um fluxo da imagem e adicione-o ao recurso de coleção de imagens do PDF carregado
  4. Instancie o objeto Matrix usando a posição retangular desejada para a imagem
  5. Defina as opções de desenho da imagem e desenhe a imagem usando o método Do()
  6. Restaure o estado gráfico e salve o PDF de saída antes de fechar os fluxos de imagem e PDF

Estas etapas explicam como adicionar imagem em PDF usando Java onde primeiro a referência da página é obtida do arquivo PDF carregado e, em seguida, o fluxo de imagem é criado. Essa imagem é adicionada à coleção de imagens da página selecionada e, em seguida, a matriz de transformação é declarada usando o retângulo posicional para a imagem de destino. No final, a imagem é renderizada usando o método Do() e o arquivo PDF resultante é salvo no disco.

Código para adicionar foto em PDF usando Java

import com.aspose.pdf.*;
import com.aspose.pdf.operators.*;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to add image to a PDF using Java
// Instantiate the license
License lic = new License();
lic.setLicense("Aspose.Total.lic");
// Load the source PDF file
Document srcDocument = new Document("sample.pdf");
// Get a reference to the target page
Page pdfPage = srcDocument.getPages().get_Item(1);
// Create stream for the image
java.io.FileInputStream streamForImage = new java.io.FileInputStream(new java.io.File("logo.png"));
// Add the stream of image to the collection of images in the selected page
pdfPage.getResources().getImages().add(streamForImage);
// Save the current state of the graphics for later use
pdfPage.getContents().add(new GSave());
// Instantiate the Matrix object using the desired rectangular area
Rectangle rect = new Rectangle(50, 750, 100, 800);
Matrix matrix = new Matrix(new double[] { rect.getURX() - rect.getLLX(), 0, 0,
rect.getURY() - rect.getLLY(), rect.getLLX(), rect.getLLY() });
// Define how image must be placed
pdfPage.getContents().add(new ConcatenateMatrix(matrix));
XImage pdfXimage = pdfPage.getResources().getImages().get_Item(pdfPage.getResources().getImages().size());
// Draw image using the Do operator
pdfPage.getContents().add(new Do(pdfXimage.getName()));
// Restore the graphics state
pdfPage.getContents().add(new GRestore());
// Save the resultant PDF
srcDocument.save("updated_document.pdf");
// Close image stream
streamForImage.close();
// Close the PDF
srcDocument.close();
System.out.println("Done");
}
}

Este código demonstra o processo para adicionar imagem ao PDF usando Java. Ele usa a classe Document para carregar o PDF, o objeto de classe Page para manter a referência à página PDF de destino, o objeto FileInputStream para armazenar a imagem de destino, a classe retângulo para descrever a posição da imagem na página, o objeto Matrix para definir o desenho da imagem e o método Do() para renderizar a imagem. Observe que o estado gráfico é salvo antes de iniciar esta operação e restaurado assim que a operação é concluída.

Neste artigo, testemunhamos o processo de adicionar foto ao PDF usando Java. Se você quiser aprender o processo para adicionar uma marca d’água em um PDF, consulte o artigo em como adicionar marca d’água a PDF usando Java.

 Português