Reemplazar imagen en archivo PDF existente usando Java
Contents
[
Hide
]
Utilice la colección de imágenes de la página o la búsqueda basada en ubicaciones según la precisión con la que necesite dirigir la imagen.
Reemplazar una imagen por índice de recurso
- Abra el PDF de origen
Document. - Acceda a los recursos de imagen en el destino
Page. - Reemplace el recurso de imagen del destino con el nuevo archivo de imagen.
- Guarde el PDF actualizado
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());
}
}
Reemplazar una imagen usando ImagePlacementAbsorber
- Abra el PDF de origen
Document. - Cree un
ImagePlacementAbsorbery visite el objetivoPage. - Obtenga el objetivo
ImagePlacementy reemplácelo con el nuevo flujo de imagen. - Guarde el PDF actualizado
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());
}
}