Remplacer l'image dans un fichier PDF existant à l'aide de Java

Utilisez soit la collection d’images de page, soit la recherche basée sur l’emplacement en fonction de la précision avec laquelle vous devez cibler l’image.

Remplacer une image par un index de ressources

  1. Ouvrez le PDF source Document.
  2. Accédez aux ressources d’images sur la Page cible.
  3. Remplacez la ressource image cible par le nouveau fichier image.
  4. Enregistrez le [Document] PDF mis à jour (https://reference.aspose.com/pdf/java/com.aspose.pdf/document/).
public static void replaceImage(Path inputFile, Path imageFile, Path outputFile) throws Exception {
    try (Document document = new Document(inputFile.toString());
         InputStream imageStream = Files.newInputStream(imageFile)) {
        document.getPages().get_Item(1).getResources().getImages().replace(1, imageStream);
        document.save(outputFile.toString());
    }
}

Remplacer une image en utilisant ImagePlacementAbsorber

  1. Ouvrez le PDF source Document.
  2. Créez un ImagePlacementAbsorber et visitez la Page cible.
  3. Obtenez la cible ImagePlacement et remplacez-la par le nouveau flux d’images.
  4. Enregistrez le [Document] PDF mis à jour (https://reference.aspose.com/pdf/java/com.aspose.pdf/document/).
public static void replaceImageWithAbsorber(Path inputFile, Path imageFile, Path outputFile) throws Exception {
    try (Document document = new Document(inputFile.toString())) {
        ImagePlacementAbsorber absorber = new ImagePlacementAbsorber();
        document.getPages().get_Item(1).accept(absorber);

        if (absorber.getImagePlacements().size() > 0) {
            ImagePlacement imagePlacement = absorber.getImagePlacements().get_Item(1);
            try (InputStream imageStream = Files.newInputStream(imageFile)) {
                imagePlacement.replace(imageStream);
            }
        }

        document.save(outputFile.toString());
    }
}