Agregar imágenes al documento PDF a través de Java

Inserte imágenes en un documento PDF mediante programación mediante Aspose.PDF for Java

Agregue una imagen a un documento PDF con la herramienta Java

Para añadir Imagen en PDF, utilizaremos la API Aspose.PDF for Java, que es una API de conversión rica en funciones, potente y fácil de usar para la plataforma Java. Puede descargar su última versión directamente desde Maven e instalarla en su proyecto basado en Maven añadiendo las siguientes configuraciones apom.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>

Agregar imagen al PDF con Java


Necesita Aspose.PDF for Java para probar el código en su entorno.

  1. Cree un objeto Document y abra el documento PDF de entrada.
  2. Consigue la página a la que quieres añadir una imagen.
  3. Agregue la imagen a la colección Resources de la página.
  4. Utilice el operador GSave para guardar el estado gráfico actual.
  5. Utilice el operador ConcatenateMatrix para especificar dónde se va a colocar la imagen.
  6. Utilice el operador Do para dibujar la imagen en la página.
  7. Utilice el operador GRestore para guardar el estado gráfico actualizado.
  8. Guarde el archivo PDF.

Añadir imagen al documento PDF - Java

Este código de ejemplo muestra cómo añadir imágenes a una página PDF: Java

try {
    Document pdfDocument = new Document(DATA_DIR.resolve("AddImage.pdf").toString());

    int lowerLeftX = 100;
    int lowerLeftY = 100;
    int upperRightX = 200;
    int upperRightY = 200;

    Page page = pdfDocument.getPages().get_Item(1);

    FileInputStream imageStream = new FileInputStream(DATA_DIR.resolve("aspose-logo.jpg").toString());

    page.getResources().getImages().add(imageStream);

    page.getContents().add(new GSave());

    Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
    Matrix matrix = new Matrix(new double[]{
            rectangle.getURX() - rectangle.getLLX(), 0,
            0, rectangle.getURY() - rectangle.getLLX(),
            rectangle.getLLX(), rectangle.getLLY()});

    page.getContents().add(new ConcatenateMatrix(matrix));
    XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
    page.getContents().add(new Do(ximage.getName()));
    page.getContents().add(new GRestore());
    pdfDocument.save(DATA_DIR.resolve("AddImage_out.pdf").toString());
    pdfDocument.close();
} catch (Exception e) {
    System.out.println(e.getMessage());
}