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
- Estabeleça o ambiente para usar Aspose.PDF for Java para inserir uma imagem
- Carregue o arquivo PDF de origem, obtenha acesso ao primeiro page para adicionar uma imagem e salve o estado gráfico
- Crie um fluxo da imagem e adicione-o ao recurso de coleção de imagens do PDF carregado
- Instancie o objeto Matrix usando a posição retangular desejada para a imagem
- Defina as opções de desenho da imagem e desenhe a imagem usando o método Do()
- 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.