Skip to main content

Replace Text and Image in PowerPoint in Java


Replacing text or image one-by-one manually is time consuming and inefficient, especially when dealing with a large document with a huge amount of data. In this article, I will demonstrate how to replace text and image in PowerPoint programmatically in Java using Free Spire.Presentation for Java library.

Contents

  • Add dependencies
  • Replace text with new text
  • Replace image with new image

Add Dependencies

There are two ways to include Free Spire.Presentation for Java in your Java project. For maven projects, add the following dependencies to your project’s pom.xml file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<repositories>   
    <repository>   
        <id>com.e-iceblue</id>   
        <name>e-iceblue</name>   
        <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>   
    </repository>   
</repositories>   
<dependencies>   
    <dependency>   
        <groupId> e-iceblue </groupId>   
        <artifactId>spire.presentation.free</artifactId>   
        <version>3.9.0</version>   
    </dependency>   
</dependencies>

For non-maven projects, download Free Spire.Presentation for Java pack, extract the zip file, then add Free Spire.Presentation.jar in the lib folder into your project as a dependency.

Replace text with new text

You can use the replaceFirstText(String matchedString, String newValue, boolean caseSensitive) or  the replaceAllText(String matchedString, String newValue, boolean caseSensitive) methods provided by ISlide class to replace the first occurrence of a text or all the occurrences of a text in a PowerPoint slide.

The input PowerPoint document:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
 
public class ReplaceText {
    public static void main(String []args) throws Exception {
        //Create a Presentation instance
        Presentation ppt = new Presentation();
        //Load a PowerPoint document
        ppt.loadFromFile("Sample.pptx");
 
        //Get the first slide
        ISlide slide = ppt.getSlides().get(0);
 
        //Replace the first occurrence of a text
        //slide.replaceFirstText("Old String", "New String", false);
        //Replace all the occurrences of a text
        slide.replaceAllText("Old String", "New String", false);
 
        //Save the document
        ppt.saveToFile("ReplaceText.pptx", FileFormat.PPTX_2013);
    }
}

Output:



Replace image with new image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import com.spire.presentation.*;
import com.spire.presentation.drawing.IImageData;
 
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
 
public class ReplaceImage {
    public static void main(String []args) throws Exception {
        //Create a Presentation instance
        Presentation presentation= new Presentation();
 
        //Load the sample PowerPoint document
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pptx");
 
        //Add an image to the image collection
        String imagePath = "C:\\Users\\Administrator\\Desktop\\Rabbit.png";
        BufferedImage bufferedImage = ImageIO.read(new FileInputStream(imagePath));
        IImageData image = presentation.getImages().append(bufferedImage);
 
        //Get the shape collection from the first slide
        ShapeCollection shapes = presentation.getSlides().get(0).getShapes();
 
        //Loop through the shape collection
        for (int i = 0; i < shapes.getCount(); i++) {
 
            //Determine if a shape is a picture
            if (shapes.get(i) instanceof SlidePicture) {
 
                //Fill the shape with a new image
                ((SlidePicture) shapes.get(i)).getPictureFill().getPicture().setEmbedImage(image);
            }
        }
 
        //Save the document
        presentation.saveToFile("ReplaceImage.pptx", FileFormat.PPTX_2013);
    }
}

Output:



Comments

Popular posts from this blog

3 Ways to Generate Word Documents from Templates in Java

A template is a document with pre-applied formatting like styles, tabs, line spacing and so on. You can quickly generate a batch of documents with the same structure based on the template. In this article, I am going to show you the different ways to generate Word documents from templates programmatically in Java using Free Spire.Doc for Java library. Prerequisite First of all, you need to add needed dependencies for including Free Spire.Doc for Java into your Java project. There are two ways to do that. If you use maven, you need to add the following code to your project’s pom.xml file. <repositories>               <repository>                   <id>com.e-iceblue</id>                   <name>e-iceblue</name>                   <url>http: //repo.e-iceblue.com/nexus/content/groups/public/</url>                </repository>       </repositories>       <dependencies>           <dependency>               <g

Simple Java Code to Convert Excel to PDF in Java

This article demonstrates a simple solution to convert an Excel file to PDF in Java by using free Excel API – Free Spire.XLS for Java . The following examples illustrate two possibilities to convert Excel to PDF:      Convert the whole Excel file to PDF     Convert a particular Excel Worksheet to PDF Before start with coding, you need to Download Free Spire.XLS for Java package , unzip it and import Spire.Xls.jar file from the lib folder in your project as a denpendency. 1. Convert the whole Excel file to PDF Spire.XLS for Java provides saveToFile method in Workbook class that enables us to easily save a whole Excel file to PDF. import com.spire.xls.FileFormat; import com.spire.xls.Workbook; public class ExcelToPDF {     public static void main(String[] args){         //Create a Workbook         Workbook workbook = new Workbook();         workbook.loadFromFile( "Sample.xlsx" );         //Fit to page         workbook.getConverterSetting().setShee

Insert and Extract OLE objects in Word in Java

You can use OLE (Object Linking and Embedding) to include content from other programs, such as another Word document, an Excel or PowerPoint document to an existing Word document. This article demonstrates how to insert and extract embedded OLE objects in a Word document in Java by using Free Spire.Doc for Java API.   Add dependencies First of all, you need to add needed dependencies for including Free Spire.Doc for Java into your Java project. There are two ways to do that. If you use maven, you need to add the following code to your project’s pom.xml file.     <repositories>               <repository>                   <id>com.e-iceblue</id>                   <name>e-iceblue</name>                   <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>               </repository>       </repositories>       <dependencies>           <dependency>               <groupId>