Ajouter des images au document PDF via Java

Insérer des images dans un document PDF par programmation à l’aide de Aspose.PDF pour la bibliothèque Java

Ajouter une image à un document PDF à l'aide de l'outil Java

Pour ajouter une image dans un PDF, nous utiliserons l’API Aspose.PDF for Java qui est une API de conversion riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme Java. Vous pouvez télécharger sa dernière version directement sur Maven et l’installer dans votre projet basé sur Maven en ajoutant les configurations suivantes au 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>

Ajouter une image au PDF en utilisant Java


Vous avez besoin de Aspose.PDF for Java pour essayer le code dans votre environnement.

  1. Créez un objet Document et ouvrez le document PDF d’entrée.
  2. Obtenez la page à laquelle vous souhaitez ajouter une image.
  3. Ajoutez l’image dans la collection Resources de la page.
  4. Utilisez l’opérateur GSave pour enregistrer l’état graphique actuel.
  5. Utilisez l’opérateur ConcatenateMatrix pour spécifier l’emplacement de l’image.
  6. Utilisez l’opérateur Do pour dessiner l’image sur la page.
  7. Utilisez l’opérateur gRestore pour enregistrer l’état graphique mis à jour.
  8. Enregistrez le fichier PDF.

Ajoutez une image au document PDF - Java

Cet exemple de code montre comment ajouter des images dans une page 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());
}