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 au document PDF à l'aide de la bibliothèque 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


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