Utilisation des images dans un document PDF via Java

Bibliothèque moderne Java pour manipuler les images en PDF à l’aide de nos API.

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 via 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.

Ajouter une image dans un fichier PDF existant - Java

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